Ich habe mein Laptop von Ubuntu 10.04 auf Ubuntu 11.10 aktualisiert. Jetzt scheint mein Apache-Webserver die .htaccess-Datei nicht zu erkennen, da keine meiner URL-Umschreibungen funktioniert. Ich habe es versucht, a2enmod rewrite
aber Apache sagt, es sei bereits aktiviert. Ich habe den Apache-Server neu gestartet, aber meine Umschreibungen funktionieren immer noch nicht. Ich habe versucht, unsinnigen Text in meine .htaccess-Datei einzugeben, in der Hoffnung, Fehler wie 500 Internal Server Errors zu erzeugen, aber es sind keine Fehler aufgetreten. Es ist, als würde Apache meine .htaccess-Dateien nicht einmal lesen. Meine apache2.conf-Datei enthält eine Zeile, die besagt AccessFileName .htaccess
:
Wie bekomme ich meine RewriteRules in der .htaccess-Datei wieder zum Laufen?
Antwort1
Wenn die .htaccess
Dateien wirklich nicht analysiert werden, benötigen Sie eine AllowOverride
Anweisung in Ihrer Hauptkonfiguration:
AllowOverride FileInfo
(das lässt Ihre mod_rewrite-Direktiven zu; verwenden Sie es, All
wenn Sie eine beliebige Direktive zulassen müssen)
Übrigens, warum .htaccess
überhaupt verwenden? Von derDokumente:
Im Allgemeinen sollten Sie niemals .htaccess-Dateien verwenden, es sei denn, Sie haben keinen Zugriff auf die Hauptkonfigurationsdatei des Servers.
Antwort2
Sehen Sie sich die AllowOverride-Direktive an, die steuert, welche Art von Einträgen in .htaccess akzeptiert werden. Dies wird in einem Verzeichniskontext konfiguriert.
http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride