Apache 2.2 mit mod_rewrite auf Ubuntu

Auch heute hatte ich wieder ein kleineres Problem was zu lösen war. Das Apachemodul mod_rewrite wollte nicht funktionieren.
Der Beitrag ist in zwei Teile aufgeteilt: Im ersten Teil beschreibe ich die normale Konfiguration und Installation und im zweiten dann mein spezielles Problem.

Aktivierung

Das Aktivieren geht eigentlich sehr schnell und einfach. Dafür führen wir folgende Befehle aus.

sudo -s
a2enmod rewrite
service apache2 restart

Der erste gibt uns dauerhafte root-Rechte, damit wir unser Passwort nicht dauernd eingeben müssen. Der zweite aktiviert das Module mod_rewrite und der dritte startet Apache 2.2 neu damit die Änderungen eingelesen werden.

Damit wir in unseren www-Verzeichnis nun .htaccess Dateien nutzen können müssen wir noch zwei Einstellungen ändern.
Dafür öffnen wir die Datei /etc/apache2/sites-available/default mit root-Rechten und bearbeiten folgende zwei Sachen:

In dieser Datei muss im Abschnitt und >, dort muss die Eigenschaft AllowOverride von None auf All gesetzt werden.

Danach muss der Apache Server erneut neu gestartet werden. (service apache2 restart)

Mein Problem

Auch nachdem Aktivieren von mod_rewrite funktionierte keine der Umleitungen mehr. Allerdings warfen sie keine 500-er Fehler mehr sondern 404-er Fehler. Im Errorlog (/var/log/apache2/error.log) fand sich folgende Zeile:

[Mon Jan 14 17:11:05 2013] [error] [client 127.0.0.1] Negotiation: discovered file(s) matching request: /var/www/notesafe/login (None could be negotiated)., referer: http://localhost/notesafe/

Nach ein wenig Recherche fand ich heraus das das Modul negotiation von Apache sich mit rewrite beißt und die Requests „klaut“.

Wenn man das Modul deaktiviert und den Server neustartet, funktioniert alles.

a2dismod negotiation
service apache2 restart

Ich bin Kevin, und schreibe hier über Themen die sich von CSS über Designs bis zur testgetriebenen Entwicklung mit PHP erstrecken. Ich arbeite in einer kleinen Firma als PHP-Entwickler und entwickle dort PHP Backends für verschiedene Projekte vorallem mit Laravel. Privat betreibe ich noch diesen Blog und notesafe.

Schreibe einen Kommentar