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,escapeundunescape -
txt- durchsucht eine Textdatei -
dbd- sucht in einer Datenbank mit der SQLSELECTAnweisung -
rnd- zufällige Suchvorgänge aus einer Textdatei -
dbm- Ähnlich wietxt, außer dasshttxt2dbmdie Daten in Hashes konvertieren muss -
fastdbd- sucht in einer Datenbank mithilfe der SQLSELECTAnweisung mit Zwischenspeicherung