mod-rewrite
Direttive fornite da mod-rewrite in Apache 2.4
Ricerca…
Sintassi
- Percorso URL RewriteBase
- RewriteCond TestString CondPattern
- RewriteEngine on | off
- RewriteMap MapName MapType: MapSource
- Opzioni RewriteOptions
- Sostituzione Pattern RewriteRule [bandiere]
Elenco delle direttive disponibili in Apache 2.4
Apache 2.4 fornisce le seguenti 6 direttive tramite il modulo mod_rewrite
:
- RewriteBase
- RewriteCond
- RewriteEngine
- RewriteMap
- RewriteOptions
- RewriteRule
Le seguenti direttive, precedentemente disponibili in Apache 2.2, sono state rimosse:
- RewriteLock
- RewriteLog
- RewriteLogLevel
Tutte le direttive (ad eccezione di RewriteMap
) definite da mod_rewrite
possono essere sovrascritte su una directory per .htaccess
tramite AllowOverride FileInfo
.
Direttiva | Contesto | Descrizione |
---|---|---|
RewriteBase | directory, .htaccess | Imposta l'URL di base per la riscrittura delle directory |
RewriteCond | Ovunque | Definisce le condizioni in cui si verificherà l'azione di riscrittura |
RewriteEngine | Ovunque | Imposta lo stato del motore di riscrittura |
RewriteMap | server config, host virtuale | Definisce una funzione di ricerca chiave |
RewriteOptions | Ovunque | Imposta le opzioni speciali per il motore di riscrittura |
RewriteRule | Ovunque | Definisce regole specifiche per il motore di riscrittura |
Il contesto Everwhere
indica che la direttiva può essere definita in una delle seguenti quattro posizioni:
- configurazione del server
- configurazione host virtuale
- contesto della directory
- .htaccess file
Le direttive RewriteLog
e RewriteLogLevel
sono state unite con la direttiva globale LogLevel
e sarebbero utilizzate come:
LogLevel rewrite:<level>
dove <level>
è un valore di trace8
(meno significativo) da emerg
(il più significativo). Questa lista è disponibile qui .
RewriteBase e RewriteEngine
Direttiva | Predefinito | Contesto | Descrizione |
---|---|---|---|
RewriteBase | Nessuna | Directory, .htaccess | Imposta l'URL di base per la riscrittura delle directory |
RewriteEngine | via | ovunque | Abilita o disabilita il motore di riscrittura del runtime |
RewriteBase
La direttiva specifica il prefisso URL da utilizzare per sostituire i percorsi relativi.
RewriteEngine
La direttiva, se impostata su off
, non eseguirà alcuna elaborazione di riscrittura di runtime. Queste regole non sono ereditate dagli host virtuali (dalla configurazione del server) e dovranno essere definite singolarmente.
RewriteMap
La direttiva definisce una funzione che cerca una chiave nella mappa definita e sostituisce la ricerca con la sua sostituzione dalla mappa.
La funzione di mappatura è definita con la direttiva RewriteMap
stessa come segue:
RewriteMap MAPNAME Type:Source
e può essere referenziato in qualsiasi delle direttive RewriteCond
o RewriteRule
come guida sostitutiva come segue:
${ MAPNAME : KEY | DEFAULT }
I seguenti sono valori validi per Type
nella definizione della mappa:
-
int
- consentetoupper
,tolower
,escape
eunescape
solo -
txt
: cerca un file di testo -
dbd
- cerca in un database usando l'istruzioneSELECT
SQL -
rnd
- ricerche casuali da file di testo -
dbm
- simile atxt
, tranne per il fatto chehttxt2dbm
bisogno di convertire i dati in hash -
fastdbd
- cerca in un database usando l'SELECT
SQLSELECT
con il caching