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,escapeeunescapesolo -
txt: cerca un file di testo -
dbd- cerca in un database usando l'istruzioneSELECTSQL -
rnd- ricerche casuali da file di testo -
dbm- simile atxt, tranne per il fatto chehttxt2dbmbisogno di convertire i dati in hash -
fastdbd- cerca in un database usando l'SELECTSQLSELECTcon il caching