Warum liest Apache .htaccess-Dateien, obwohl sie deaktiviert sind?

Jul 31 2020

Nach Apache - Dokumentation, die Einstellung AllowOverrideund AllowOverrideListOptionen zu Nonewerden, völlig ignorieren .htaccessDateien. Versuchen Sie nicht einmal, sie aus dem Dateisystem zu lesen.

Ich habe beide Optionen eingestellt, noneaber Apache liest die .htaccessDateien immer noch. Ich weiß das, denn wenn ich eine .htaccessDatei mit einigen gültigen Anweisungen einfüge, wird ein 500-Fehler ausgegeben. Wenn Sie die Anweisungen auskommentieren (im Wesentlichen eine leere .htaccessDatei), wird der 500-Fehler nicht ausgelöst. Offensichtlich liest Apache die .htaccessDateien immer noch.

Apache2-Fehlerprotokoll (für den öffentlichen Verbrauch
bereinigt ): [Do 30 Jul 23: 36: 35.393831 2020] [Kern: Warnung] [PID 60903] [Client-DDDD: 10554] /var/www/example/.htaccess: Hier nicht erforderlich , Referer:http://example.net/

Die Frage ist warum? Was vermisse ich? Wie soll es sich gemäß der Dokumentation verhalten? dh nicht einmal versuchen, die .htaccessDateien zu lesen .

Referenz: https://httpd.apache.org/docs/2.4/mod/core.html#allowoverride

Wenn diese Anweisung auf None und AllowOverrideList auf None festgelegt ist, werden .htaccess-Dateien vollständig ignoriert. In diesem Fall versucht der Server nicht einmal, .htaccess-Dateien im Dateisystem zu lesen.

Antworten

2 MrWhite Jul 31 2020 at 17:32

Dies scheint ein Fehler in früheren Versionen von Apache 2.4 zu sein, der Berichten zufolge in Apache 2.4.20 behoben wurde
https://bz.apache.org/bugzilla/show_bug.cgi?id=58528

Der Fehler scheint zu sein, dass beim expliziten Festlegen AllowOverrideList Nonedes Werts der Wert nicht korrekt zurückgesetzt wird .

Ich habe überprüft, dass ich in Apache 2.4.7 dasselbe (falsche) Verhalten sehe

Wenn Sie AllowOverrideListin Ihrer Serverkonfiguration noch nie eine andere Einstellung vorgenommen haben , können Sie diese Anweisung weglassen, da die Standardeinstellung lautet None. (Wenn diese Standardeinstellung beibehalten wird, scheint sie gemäß den Dokumenten korrekt interpretiert zu werden.)