mod_rewrite in Apache 2 unter Ubuntu aktivieren

26 Dezember 2010 2 Kommentare Autor: Jürgen (jdo)

Apache Logo 150x150So ein Linux ist ja eine feine Sache. In nur wenigen Sekunden lässt sich ein LAMP-System (Linux, Apache, MySQL, PHP/Perl/Python) aufsetzen. Das eignet sich zum Beispiel wunderbar, um an einem WordPress-Theme zu arbeiten und diese nicht am offenen Herzen ausprobieren zu müssen. Installiert man Apache2 unter Ubuntu, funktioniert dummerweise mod_rewrite nicht „Out of the Box“. Dies braucht man aber, wenn man mit .htaccess-Dateien experimentieren möchte. Auch bei WordPress ist dies von Nöten, wenn man die Permalinks umstellen möchte. Gewusst wie, dauert es keine fünf Minuten und mod_rewrite läuft.

Zunächst einmal begeben wir uns auf die Konsole und führen folgendes Kommando mit Superuser-Rechten aus:

sudo a2enmod rewrite

Nun ist das Modul eingeladen und aktiviert. Allerdings funktionieren Regeln via .htaccess immer noch nicht. Deswegen editieren wir die Datei /etc/apache2/sites-enabled/000-default. Diese enthält mehrere Zeilen AllowOverride None. Je nachdem, wo wir ein Überschreiben erlauben möchten ändern wir diese in AllowOverride All. Wer sich nicht sicher ist, welche der Zeilen gebraucht wird, sollte den pragmatischen Try-and-Error-Weg wählen. Einfach mal alle aktivieren und dann deaktivieren, bis es nicht mehr funktioniert. Das war dann die richtige. Bei Produktivsystemen sollte man natürlich wissen, wo man hingreift, ohne das System in einem unbrauchbaren Zustand zu hinterlassen. Aber in diesem Fall handelt es sich um das lokale Testsystem und damit können wir machen, was wir wollen. Schritt Vier ist einfach den Apache-Server neu starten:

sudo /etc/init.d/apache2 force-reload oder

sudo /etc/init.d/apache2 restart

Nun können wir die ganze Sache noch testen. Dazu legen wir unter /var/www die Datei .htaccess an und befüllen diese mit folgenden zwei Zeilen.

RewriteEngine on

RedirectMatch 301 ^(.*)$ http://www.bitblokes.de

Wenn wir nun im Browser http://localhost aufrufen, sollte der Webserver die Anfrage mit Status-Code 301 (permanently moved – dauerhaft umgezogen) auf http://www.bitblokes.de umleiten. Funktioniert das, hat man das Rewrite-Modul erfolgreich aktiviert und kann von nun an mit .htaccess-Dateien spielen und lernen.

Hier noch mal kompakt, was zu tun ist:

  • sudo a2enmod rewrite
  • /etc/apache2/sites-enabled/000-default editieren
  • AllowOverride None nach AllowOverride All ändern
  • Apache neu starten mit sudo /etc/init.d/apache2 force-reload oder sudo /etc/init.d/apache 2 restart

Du kannst gerne Deinen Senf zu diesem Beitrag geben: Hier geht es zu den Kommentaren




Schreiben macht durstig! Eine kleine Erfrischung kann daher nie schaden. Wem dieser freie Artikel gefallen hat, der darf mir gerne einen frisch gezapften Hopfen-Tee ausgeben (Paypal - der Spenden-Knopf
oder bitcoin - Adresse: 1NacVNwcLLePUVv8uSafu5Ykdwh8QyDfgK). Ich freue mich über jede noch so kleine Spende. Vielen Dank und Prost!
 Alle Kommentare als Feed abonnieren

2 Kommentare zu “mod_rewrite in Apache 2 unter Ubuntu aktivieren”

  1. Chris sagt:

    Beim Apache neustarten ist ein kleiner Fehler:
    sudo /etc/init.d/apache2 restart
    Zwischen apache und 2 darf kein Leerzeichen sein!

Antworten