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
,escape
ochunescape
-
txt
- söker i en textfil -
dbd
- letar upp i en databas med SQLSELECT
sats -
rnd
- slumpmässiga uppslag från textfil -
dbm
- liknartxt
, förutom atthttxt2dbm
behöver konvertera data till hash -
fastdbd
- letar upp i en databas med SQLSELECT
uttalande med cache