Warum kann ich nicht deaktivieren .htaccess in Apache?
Dies ist das gegenteilige problem von den meisten, über die ich gelesen habe. Ich bin mit Ubuntu 8.04 auf einer Amazon-Instanz mit Apache 2.2.8 und ich kann nicht herausfinden, warum die Einstellung AllowOverride auf None for root doesn ' T stop meine .htaccess-Datei einbezogen werden.
Habe ich eine sub-directory mit hello.py in es und eine .htaccess-Datei. Wenn ich navigieren Sie zu der Datei, es funktioniert gut mit das modpython portion der Datei. Wenn ich einige Müll .htaccess bekomme ich einen server-Fehler, so weiß ich das .htaccess-Datei verwendet wird. Auch wenn ich löschen .htaccess-Datei, hello.py nicht mehr server durch das modpython - stattdessen versucht der browser, um es zu öffnen.
In eine meiner Websites-zur Verfügung (verlinkt in sites-enabled), habe ich "AllowOverride None" für das root-Verzeichnis. Ich dachte, dass dies verhindern würde .htaccess wird von der Wurzel und alle seine Unterverzeichnisse, die bewirken soll hello.py nicht serviert werden, die von mod_python. Allerdings, es weiterhin bedient werden, in Ordnung und ich kann testen .htaccess ist immer noch enthalten, denn wenn ich es ändern, sehe ich die Ergebnisse in meinem browser.
Vielleicht gibt es etwas, was ich nicht bin Verständnis über meine Datei in sites-enabled. Dies ist die Datei, die ich verwende:
NameVirtualHost *:8080
<VirtualHost *:8080>
<Directory />
AllowOverride None
</Directory>
</VirtualHost>
Vielen Dank für jede Hilfe.
- Während AllowOverride None sollten aufhören, es zu Lesen .htaccess-Dateien, die ich beachten Sie, dass Ihre Konfiguration enthält nichts über mod_python (d.h., AddHandler mod_python .py). Was ist in der .htaccess-Datei?
- .htaccess: AddHandler mod_python .py PythonHandler mptest PythonDebug Auf und in mptest.py: from mod_python import von apache def handler(req): req.log_error('handler') req.content_type = 'text/plain' erf.send_http_header() req.write("Hallo Welt!") Rückkehr apache.OK
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Grund die Datei nicht bedient werden, die über mod_python, wenn Sie Sie löschen .htaccess ist da das setup für mod_python befindet sich in es. Wenn Sie verschieben, dass Sachen, die auf Ihren sites-available die Datei, die Sie löschen können .htaccess, ein Auge zudrücken, um das problem, und nennen es einen Tag.
Wenn das nicht befriedigen, dann, warum .htacess wird gelesen, kann ich nicht sagen. Sie sind richtig, dass AllowOverride None sollte verhindern, dass die Datei jemals zu Lesen. Haben Sie berücksichtigt die Möglichkeit, dass Sie etwas geschraubt, bis Sie beim hinzufügen der virtuellen Website? Versuchen Sie werfen einige Müll in die config und sehen, ob es sich beschwert, nur um sicher, es wird gelesen.
AllowOverride
darf nur in<Directory>
-Abschnitte, so dass Sie haben alles richtig gemacht.Einem problem, das Sie haben könnten, ist, dass andere (sub-)
<Directory>
-Abschnitte festgelegtAllowOverride
auf etwas anderes alsNone
. Überschrieben wird die Einstellung für diese Unterverzeichnisse.Ich benutze
und in
/var/www
(mein docroot), die ich verwenden kann.htaccess
es.Der Grund, warum
mod_python
funktioniert nicht mehr, wenn Sie löschen Ihre.htaccess
ist, dassmod_python
Einrichtung ist in der Regel in.htaccess
- Dateien.Wenn Sie weitere Informationen benötigen, senden Sie uns bitte Ihre Konfiguration.
PS: In der Tat die docuementation oben verlinkten sagt, dass Sie sollten nie set
AllowOverride
etwas nichtNone
im<Directory />
.