mod-rewrite
Direktiv som tillhandahålls av omskrivning i Apache 2.4
Sök…
Syntax
- RewriteBase URL-path
- RewriteCond TestString CondPattern
- RewriteEngine on | off
- RewriteMap MapName MapType: MapSource
- RewriteOptions-alternativ
- RewriteRule Pattern Substitution [flaggor]
Lista över tillgängliga direktiv i Apache 2.4
Apache 2.4 tillhandahåller följande 6 direktiv via mod_rewrite modulen:
- RewriteBase
- RewriteCond
- RewriteEngine
- RewriteMap
- RewriteOptions
- RewriteRule
Följande direktiv, som tidigare finns tillgängliga i Apache 2.2 har tagits bort:
- RewriteLock
- RewriteLog
- RewriteLogLevel
Alla direktiv (med undantag av RewriteMap ) som definieras av mod_rewrite kan tillåtas åsidosätta på en per-katalog .htaccess via AllowOverride FileInfo .
| Direktiv | Sammanhang | Beskrivning |
|---|---|---|
| RewriteBase | katalog, .htaccess | Ställer in bas-URL för per katalogomskrivning |
| RewriteCond | över~~POS=TRUNC allt~~POS=HEADCOMP | Definierar förhållanden under vilka omskrivningsåtgärden kommer att ske |
| RewriteEngine | över~~POS=TRUNC allt~~POS=HEADCOMP | Ställer in status för omskrivning av motorn |
| RewriteMap | serverkonfigur, virtuell värd | Definierar en nyckelfunktion |
| RewriteOptions | över~~POS=TRUNC allt~~POS=HEADCOMP | Ställer speciella alternativ för omskrivning motor |
| RewriteRule | över~~POS=TRUNC allt~~POS=HEADCOMP | Definierar specifika regler för omskrivning av motor |
Sammanhanget Everwhere innebär att direktivet kan definieras på någon av följande fyra platser:
- serverkonfiguration
- virtual host config
- katalogtext
- .htaccess-fil
RewriteLog och RewriteLogLevel har släppts samman med det globala LogLevel direktivet och skulle användas som:
LogLevel rewrite:<level>
där <level> är ett värde från trace8 (minst signifikant) till emerg (mest signifikant). Den här listan finns tillgänglig här .
RewriteBase och RewriteEngine
| Direktiv | Standard | Sammanhang | Beskrivning |
|---|---|---|---|
| RewriteBase | Ingen | Katalog, .htaccess | Ställer in bas-URL för per katalogomskrivning |
| RewriteEngine | av | överallt | Aktivera eller inaktivera omskrivning av körtid |
RewriteBase
Direktivet anger URL-prefix som ska användas för att ersätta relativa banor.
RewriteEngine
Direktivet, om det är off , kommer inte att göra någon omskrivning av runtime-bearbetning. Dessa regler ärvs inte av de virtuella värdarna (från serverkonfigurering) och måste definieras individuellt.
RewriteMap
Direktivet definierar en funktion som ska leta upp en nyckel i den definierade kartan och ersätter uppslaget med dess ersättning från kartan.
Kartläggningsfunktionen definieras med själva RewriteMap direktivet enligt följande:
RewriteMap MAPNAME Type:Source
och kan hänvisas till i någon av RewriteCond eller RewriteRule riktlinjerna för att fungera som en substitutionsguide enligt följande:
${ MAPNAME : KEY | DEFAULT }
Följande är giltiga värden för Type in i kartdefinitionen:
-
int- tillåter endasttoupper,tolower,escapeochunescape -
txt- söker i en textfil -
dbd- letar upp i en databas med SQLSELECTsats -
rnd- slumpmässiga uppslag från textfil -
dbm- liknartxt, förutom atthttxt2dbmbehöver konvertera data till hash -
fastdbd- letar upp i en databas med SQLSELECTuttalande med cache