mod-rewrite Tutorial
Erste Schritte mit mod-rewrite
Suche…
Bemerkungen
mod_rewrite ist ein Modul für Apache. Dieses Modul wird für interne Umschreibungen (externe Anforderungen, die eine andere Ressource laden sollen) und externe Weiterleitungen (externe Anforderungen, bei denen der Client eine andere URL anfordert) verwendet.
mod_rewrite bietet eine feinere Steuerung interner Umschreibungen als mod_alias , da letzterer Anforderungen nur Dateinamen zuordnen kann. mod_rewrite bietet einige Möglichkeiten der Zugriffskontrolle. Dies ist jedoch in der Regel besser mit mod_authz_core und mod_authz_host . mod_rewrite bietet eine gewisse Integration mit mod_proxy , aus Performancegründen sollte diese Integration jedoch nicht verwendet werden, sondern ProxyPass
und ProxyPassMatch
des letzteren Moduls.
mod_rewrite kann so eingerichtet werden, dass Anweisungen in die dynamischen Konfigurationsdateien (.htaccess) eingefügt werden können. Aus Performancegründen sollte immer die statische Konfigurationsdatei (httpd.conf) verwendet werden, wenn dies möglich ist.
Versionen
Ausführung | Veröffentlichungsdatum |
---|---|
2.2 | 2015-07-17 |
2.4 | 2016-07-05 |
Installation
mod_rewrite muss aktiviert sein, bevor es auf einem Apache-Server verwendet werden kann.
Debian / Ubuntu
Führen Sie a2enmod rewrite
Dann starten Sie Apache mit dem service apache2 restart
Allgemeiner Fall
Fügen Sie die folgende Zeile in der statischen Konfigurationsdatei (z. B. httpd.conf
) hinzu oder httpd.conf
:
LoadModule rewrite_module modules/mod_rewrite.so
Starten Sie dann Apache neu.
Verwendung von mod_rewrite in der statischen Konfigurationsdatei
Fügen Sie die folgende Direktive hinzu, bevor Sie eine andere Direktive mod_rewrite verwenden (RewriteRule, RewriteCond, RewriteBase oder RewriteMap).
RewriteEngine on
Standardmäßig ist der Motor ausgeschaltet. mod_rewrite-Direktiven, die bei ausgeschaltetem Modul gefunden wurden, werden ignoriert. Aktivieren Sie es aus dem virtuellen Host-Kontext, wenn Sie virtuelle Hosts verwenden, oder aus bestimmten Verzeichniskontexten, falls zutreffend.
Verwendung von mod_rewrite aus den dynamischen Konfigurationsdateien
Wichtig: Die Verwendung der dynamischen Konfigurationsdateien (.htaccess) ist ein großer Performance-Hit. Wenn Sie Zugriff auf die statische Konfigurationsdatei (httpd.conf oder ähnliches) haben, sollten Sie diese stattdessen verwenden.
Lassen Sie in der statischen Konfigurationsdatei zu, dass dynamische Konfigurationsdateien "Fileinfo" mit AllowOverride
. Diese Direktive muss im Verzeichniskontext abgelegt werden:
AllowOverride FileInfo
Der für dynamische Konfigurationsdateien verwendete Dateiname wird durch die AccessFileName
Direktive AccessFileName
. Standardmäßig handelt es sich bei den dynamischen Konfigurationsdateien um versteckte Dateien mit dem Namen .htaccess
.
Fügen Sie am oberen Rand jeder dynamischen Konfigurationsdatei, die Mod_rewrite-Direktiven enthält, die folgende Direktive hinzu:
RewriteEngine on