mod-rewrite
Direktiven von mod-rewrite in Apache 2.4
Suche…
Syntax
- RewriteBase URL-Pfad
- RewriteCond TestString CondPattern
- RewriteEngine ein | ausschalten
- RewriteMap MapName MapType: MapSource
- Optionen für RewriteOptions
- RewriteRule Pattern Substitution [Flag]
Liste der in Apache 2.4 verfügbaren Richtlinien
Apache 2.4 stellt die folgenden 6 Anweisungen über das Modul mod_rewrite
bereit:
- RewriteBase
- RewriteCond
- RewriteEngine
- RewriteMap
- RewriteOptions
- RewriteRule
Die folgenden Direktiven, die zuvor in Apache 2.2 verfügbar waren, wurden entfernt:
- RewriteLock
- RewriteLog
- RewriteLogLevel
Alle durch mod_rewrite
definierten Direktiven (mit Ausnahme von RewriteMap
) können in einem .htaccess
pro-Verzeichnis durch die AllowOverride FileInfo
.
Richtlinie | Kontext | Beschreibung |
---|---|---|
RewriteBase | Verzeichnis, .htaccess | Legt die Basis-URL für das Umschreiben pro Verzeichnis fest |
RewriteCond | Überall | Definiert die Bedingungen, unter denen die Umschreibaktion ausgeführt wird |
RewriteEngine | Überall | Legt den Status der Umschreibungs-Engine fest |
RewriteMap | Serverkonfiguration, virtueller Host | Definiert eine Tastensuchfunktion |
RewriteOptions | Überall | Legt spezielle Optionen für das Umschreiben der Engine fest |
RewriteRule | Überall | Definiert spezifische Regeln für das Umschreiben der Engine |
Der Kontext Everwhere
bedeutet, dass die Direktive an einem der folgenden vier Orte definiert werden kann:
- Server-Konfig
- Virtuelle Hostkonfiguration
- Verzeichniskontext
- .htaccess-Datei
Die Direktiven RewriteLog
und RewriteLogLevel
wurden mit der globalen Direktive LogLevel
und würden wie LogLevel
verwendet:
LogLevel rewrite:<level>
Dabei ist <level>
ein Wert von trace8
(am wenigsten signifikant) bis emerg
(am signifikantesten). Diese Liste ist hier verfügbar.
RewriteBase und RewriteEngine
Richtlinie | Standard | Kontext | Beschreibung |
---|---|---|---|
RewriteBase | Keiner | Verzeichnis, .htaccess | Legt die Basis-URL für das Umschreiben pro Verzeichnis fest |
RewriteEngine | aus | überall | Aktivieren oder deaktivieren Sie die Laufzeitumschreibungs-Engine |
RewriteBase
Die Anweisung gibt das URL-Präfix an, das zum Ersetzen relativer Pfade verwendet werden soll.
RewriteEngine
Wenn die Direktive auf off
, wird keine Laufzeitumschreibungsverarbeitung ausgeführt. Diese Regeln werden nicht von den virtuellen Hosts (von der Serverkonfiguration) geerbt und müssen einzeln definiert werden.
RewriteMap
Die Direktive definiert eine Funktion, die einen Schlüssel in der definierten Karte sucht und die Suche durch ihre Ersetzung aus der Karte ersetzt.
Die Zuordnungsfunktion wird mit der RewriteMap
Direktive selbst wie folgt definiert:
RewriteMap MAPNAME Type:Source
und kann in einer der Anweisungen von RewriteCond
oder RewriteRule
, um als Substitutionsleitfaden wie folgt zu fungieren:
${ MAPNAME : KEY | DEFAULT }
Die folgenden Werte sind gültig für Type
in der Kartendefinition:
-
int
- Erlaubt nur dastoupper
,tolower
,escape
undunescape
-
txt
- durchsucht eine Textdatei -
dbd
- sucht in einer Datenbank mit der SQLSELECT
Anweisung -
rnd
- zufällige Suchvorgänge aus einer Textdatei -
dbm
- Ähnlich wietxt
, außer dasshttxt2dbm
die Daten in Hashes konvertieren muss -
fastdbd
- sucht in einer Datenbank mithilfe der SQLSELECT
Anweisung mit Zwischenspeicherung