Tutorial: mod_rewrite auf Ubuntu-Rechner mit Apache2

Datum: Samstag, 23. August 2014

Tag(s): Apache2 Htaccess Mod_rewrite Tutorial Ubuntu

Wer einen frischen Ubuntu-Rechner mit LAMP versorgen will, braucht oft auch mod_rewrite und htaccess, um, so wie ich, zum Beispiel die Urls schöner darstellen zu können. Da ich heute vor demselben Problem, wie vor vier Jahren stand (neuer Rechner, der mit mod_rewrite versorgt werden soll), will ich hier eine Anleitung schreiben.

Zuerst: mod_rewrite aktivieren

sudo a2enmod rewrite

Dann: Nötiges Verzeichnis anlegen:

sudo mkdir -p /var/run/apache2
sudo chown -R www-data /var/run/apache2 

Nun: Die Apache2-Config bearbeiten:

sudo gedit /etc/apache2/apache2.conf

Dort:

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

Das AllowOverride auf „All“ setzen:

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

Anschließend: Neu laden:

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

Zu beachten:

Anders als auf Debian-Servern, wird auf Ubuntu-Rechnern das aktuelle Verzeichnis anders darstellt:

# AUF UBUNTU-RECHNER:
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([^/]*)$ ./index.php?site=$1 [L]
</IfModule>
# AUF DEBIAN VSERVER:
# Options -Indexes
# <IfModule mod_rewrite.c>
# RewriteEngine On
# RewriteRule ^([^/]*)$ /index.php?site=$1 [L]
# </IfModule>

(Auf Ubuntu: „./index.php“, auf Debian-Server: „/index.php“)