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.