mod-rewrite
Directives fournies par mod-rewrite dans Apache 2.4
Recherche…
Syntaxe
- RewriteBase URL-path
- RewriteCond TestString CondPattern
- RewriteEngine on | off
- RewriteMap MapName MapType: MapSource
- RewriteOptions Options
- RéécritureRemplacement du motif de règle [drapeaux]
Liste des directives disponibles dans Apache 2.4
Apache 2.4 fournit les 6 directives suivantes via le module mod_rewrite
:
- RewriteBase
- RéécrireCond
- Réécrire le moteur
- RéécrireCarte
- RewriteOptions
- RewriteRule
Les directives suivantes, disponibles précédemment dans Apache 2.2, ont été supprimées:
- RewriteLock
- RewriteLog
- RewriteLogLevel
Toutes les directives (à l'exception de RewriteMap
) définies par mod_rewrite
peuvent être autorisées à remplacer un RewriteMap
.htaccess
par répertoire via AllowOverride FileInfo
.
Directif | Le contexte | La description |
---|---|---|
RewriteBase | répertoire, .htaccess | Définit l'URL de base pour la réécriture par répertoire |
RéécrireCond | Partout | Définit les conditions dans lesquelles l'action de réécriture aura lieu |
Réécrire le moteur | Partout | Définit le statut du moteur de réécriture |
RéécrireCarte | configuration du serveur, hôte virtuel | Définit une fonction de recherche de clé |
RewriteOptions | Partout | Définit des options spéciales pour le moteur de réécriture |
RewriteRule | Partout | Définit des règles spécifiques pour le moteur de réécriture |
Le contexte Everwhere
signifie que la directive peut être définie dans l'un des quatre emplacements suivants:
- configuration du serveur
- configuration de l'hôte virtuel
- contexte d'annuaire
- fichier .htaccess
Les directives RewriteLog
et RewriteLogLevel
ont été fusionnées avec la directive globale LogLevel
et seront utilisées comme:
LogLevel rewrite:<level>
où <level>
est une valeur de trace8
(la moins significative) à emerg
(la plus significative). Cette liste est disponible ici .
RewriteBase et RewriteEngine
Directif | Défaut | Le contexte | La description |
---|---|---|---|
RewriteBase | Aucun | Répertoire, .htaccess | Définit l'URL de base pour la réécriture par répertoire |
Réécrire le moteur | de | partout | Activer ou désactiver le moteur de réécriture à l'exécution |
RewriteBase
La directive spécifie le préfixe d'URL à utiliser pour remplacer les chemins relatifs.
RewriteEngine
La directive, si elle est off
, n'effectuera aucun traitement de réécriture à l'exécution. Ces règles ne sont pas héritées par les hôtes virtuels (à partir de la configuration du serveur) et devront être définies individuellement.
RéécrireCarte
La directive définit une fonction qui recherchera une clé dans la carte définie et la remplacera de la carte par la recherche.
La fonction de mappage est définie avec la directive RewriteMap
elle-même comme suit:
RewriteMap MAPNAME Type:Source
et peuvent être référencés dans l'une des directives RewriteCond
ou RewriteRule
pour agir comme guide de substitution comme suit:
${ MAPNAME : KEY | DEFAULT }
Les éléments suivants sont des valeurs valides pour Type
dans la définition de la carte:
-
int
- permettoupper
,tolower
,escape
etunescape
seulement -
txt
- recherche un fichier texte -
dbd
- recherche dans une base de données à l'aide de l'instruction SQLSELECT
-
rnd
- recherches aléatoires à partir d'un fichier texte -
dbm
- similaire àtxt
, sauf quehttxt2dbm
doit convertir les données en hachages -
fastdbd
- recherche dans une base de données à l'aide de l'instruction SQLSELECT
avec mise en cache