Damit die URL Ihres Dokuwiki in eine leichter lesbare Form gebracht wird, kann der Apache2 Webserver und Dokuwiki für das URL-Rewriting konfiguriert werden. Dokuwiki unterstützt bereits das URL Rewriting, welches jedoch out of the box deaktiviert ist, weil dafür einige Konfigurationen am Webserver Voraussetzungen sind1).
Apache2 Rewriting Module: Eine Apache2 Standard Installation auf Debian hat das Rewrite Module bereits einkompiliert, lediglich aktiviert ist es noch nicht. Überprüfen Sie ob das mod-rewrite Module in Ihrer Apache2 Webserver Konfiguration vorhanden ist:
$ ls -l /etc/apache2/mods-available/ | grep rewrite
-rw-r--r-- 1 root root 66 2008-03-22 10:24 rewrite.load
mod-rewrite laden: Damit das Rewrite Module beim Start des Apache geladen wird, verlinken Sie das Modul von »mods-available« nach »mods-enabled«:
# ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/
mod-rewrite starten: Damit das geladene Modul gestartet wird, braucht es eine Start Anweisung. Diese Startanweisung kann ebenfalls in der »httpd.conf« vorgenommen werden. Hostet der Server aber mehrere Vhosts und es werden unterschiedliche rewrite-rules benötigt, empfiehlt sich die weitere Konfiguration in der lokalen ».htaccess« Datei, die im Document Root des VHosts vorliegen muss. In dieser Datei werden dann auch die Rewrite Regeln definiert.
{DOCUMENT_ROOT}/.htaccess
RewriteEngine on RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L] RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L] RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L] RewriteRule ^$ doku.php [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) doku.php?id=$1 [QSA,L]
Als Letztes muss noch das URL Rewriting über die ».htaccess« in der Dokuwiki Konfiguration aktiviert werden:
Hier kann auch ein »/« (Slash) als Namespace Trenner anstelle des standardmäßigen »:« (Doppelpunkt) eingestellt werden.
Verwandte Artikel:
-> Apache (Vhost) Installation
— pronto 2010/10/07 10:27