Zum Inhalt springen
Server & Konfiguration

Apache mod_rewrite aktivieren – Anleitung für XAMPP und Linux (2026)

URL-Rewriting gehört zum Alltag moderner Webentwicklung. Ob WordPress-Permalinks, saubere API-Routen in Laravel oder Symfony-Routing – hinter all dem steckt meistens Apache mod_rewrite. Wer das Modul frisch aufsetzt, stolpert aber schnell über die immer gleichen Konfigurationsstellen. Diese Anleitung zeigt, wie es unter XAMPP (Windows) und Debian/Ubuntu richtig gemacht wird.


XAMPP unter Windows

XAMPP ist bei vielen Entwickler:innen nach wie vor die schnellste Möglichkeit, einen lokalen Apache-Stack aufzusetzen. mod_rewrite ist in neueren XAMPP-Versionen oft schon vorgeladen – trotzdem lohnt sich ein Blick in die Konfiguration.

1. httpd.conf öffnen

Die Datei liegt unter:

<XAMPP-Installationsordner>\apache\conf\httpd.conf

Typischerweise also C:\xampp\apache\conf\httpd.conf.

2. Das Modul einkommentieren

Sucht nach folgender Zeile:

#LoadModule rewrite_module modules/mod_rewrite.so

Entfernt das # am Zeilenanfang.

3. AllowOverride setzen

Sucht den <Directory>-Block für euer Projektverzeichnis (oder den globalen Block) und stellt sicher, dass folgendes gesetzt ist:

Options Indexes FollowSymLinks
AllowOverride All

AllowOverride All ist wichtig, damit Apache .htaccess-Dateien überhaupt auswertet. Mit AllowOverride FileInfo ist nur ein Teil der Direktiven erlaubt – für die meisten Frameworks braucht ihr All.

4. XAMPP neu starten

Startet Apache im XAMPP Control Panel neu – fertig.


Debian / Ubuntu

Auf Debian-basierten Systemen ist der Weg noch kürzer. Apache bringt das Hilfstool a2enmod mit, das Symlinks automatisch setzt:

sudo a2enmod rewrite
sudo systemctl restart apache2

Das war es im Grunde schon. Trotzdem müsst ihr sicherstellen, dass AllowOverride in eurer VirtualHost-Konfiguration korrekt gesetzt ist.

VirtualHost anpassen

Öffnet eure Site-Konfiguration (z. B. /etc/apache2/sites-available/000-default.conf oder eine eigene Datei) und ergänzt den <Directory>-Block:

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Danach Apache neu laden:

sudo systemctl reload apache2

Schnelltest: Funktioniert mod_rewrite?

Legt eine .htaccess-Datei in euer Webroot mit folgendem Inhalt:

RewriteEngine On
RewriteRule ^test$ index.php [L]

Ruft dann http://localhost/test auf. Landet ihr auf eurer index.php, funktioniert mod_rewrite korrekt.


Alternativen für die lokale Entwicklung

Wer den Konfigurationsaufwand scheut, kann auch auf modernere lokale Entwicklungsumgebungen setzen, die mod_rewrite von Haus aus korrekt konfigurieren:

  • Laravel Herd (macOS & Windows): Zero-Config für PHP-Projekte
  • DDEV: Docker-basiert, ideal für Teams
  • Laragon: schlanke XAMPP-Alternative für Windows

Habt ihr Probleme bei der Einrichtung oder nutzt ihr eine andere Distribution? Schreibt es in die Kommentare.

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Markdown erlaubt · keine Anmeldung nötig