mod-rewrite Tutoriel
Démarrer avec mod-rewrite
Recherche…
Remarques
mod_rewrite est un module pour Apache. Ce module est utilisé pour les réécritures internes (requêtes externes devant charger une ressource différente) et les redirections externes (requêtes externes qui doivent faire que le client demande une URL différente).
mod_rewrite fournit un contrôle plus fin sur les réécritures internes que mod_alias , car ce dernier ne peut mapper que les demandes aux noms de fichiers. mod_rewrite fournit des moyens de contrôle d'accès , mais cela est généralement mieux fait avec mod_authz_core et mod_authz_host . mod_rewrite fournit une intégration avec mod_proxy , mais pour des raisons de performances, cette intégration ne devrait pas être utilisée et à la place, ProxyPass
et ProxyPassMatch
de ce dernier module devraient être utilisés.
mod_rewrite peut être configuré de manière à ce que les directives soient placées dans les fichiers de configuration dynamiques (.htaccess). Pour des raisons de performances, il faut toujours utiliser le fichier de configuration statique (httpd.conf) chaque fois que cela est possible.
Versions
Version | Date de sortie |
---|---|
2.2 | 2015-07-17 |
2.4 | 2016-07-05 |
Installation
mod_rewrite doit être activé avant d'être utilisé sur un serveur Apache.
Debian / Ubuntu
Exécuter a2enmod rewrite
Puis redémarrez Apache avec le service apache2 restart
Cas général
Ajoutez ou décommentez la ligne suivante dans le fichier de configuration statique (tel que httpd.conf
):
LoadModule rewrite_module modules/mod_rewrite.so
Puis redémarrez Apache.
Utiliser mod_rewrite dans le fichier de configuration statique
Ajoutez la directive suivante avant d' utiliser toute autre directive mod_rewrite (RewriteRule, RewriteCond, RewriteBase ou RewriteMap).
RewriteEngine on
Par défaut, le moteur est désactivé. Les directives mod_rewrite trouvées lorsque le moteur est désactivé sont ignorées. Activez-le dans le contexte de l'hôte virtuel lorsque vous utilisez des hôtes virtuels ou à partir de contextes de répertoires spécifiques, le cas échéant.
Utiliser mod_rewrite à partir des fichiers de configuration dynamiques
Important: L' utilisation des fichiers de configuration dynamiques (.htaccess) est un gros problème de performances. Lorsque vous avez accès au fichier de configuration statique (httpd.conf ou quelque chose de similaire), vous devez l'utiliser à la place.
Dans le fichier de configuration statique, autorisez les fichiers de configuration dynamiques à remplacer "Fileinfo" à l'aide de AllowOverride
. Cette directive doit être placée dans le contexte du répertoire:
AllowOverride FileInfo
Le nom de fichier utilisé pour les fichiers de configuration dynamiques est régi par la directive AccessFileName
. Par défaut, les fichiers de configuration dynamiques sont des fichiers masqués appelés .htaccess
.
En haut de chaque fichier de configuration dynamique contenant les directives mod_rewrite, ajoutez la directive suivante:
RewriteEngine on