Mod rewrite

De FroggDev - Fr
Aller à : navigation, rechercher

doc officielle: http://httpd.apache.org/docs/current/fr/mod/mod_rewrite.html

Introduction

Le module mod_rewrite utilise un moteur de réécriture à base de règles, basé sur un interpréteur d'expressions rationnelles PCRE, pour réécrire les URLs à la volée. Par défaut, mod_rewrite met en correspondance une URL avec le système de fichiers. Cependant, on peut aussi l'utiliser pour rediriger une URL vers une autre URL, ou pour invoquer une requête interne à destination du mandataire.

mod_rewrite fournit une méthode souple et puissante pour manipuler les URLs en utilisant un nombre illimité de règles. Chaque règle peut être associée à un nombre illimité de conditions, afin de vous permettre de réécrire les URLs en fonction de variables du serveur, de variables d'environnement, d'en-têtes HTTP, ou de repères temporels.

mod_rewrite agit sur la totalité de l'URL, y compris la partie chemin. Une règle de réécriture peut être invoquée dans httpd.conf ou dans un fichier .htaccess. Le chemin généré par une règle de réécriture peut inclure une chaîne de paramètres, ou peut renvoyer vers un traitement secondaire interne, une redirection vers une requête externe ou vers le mandataire interne.

Configuration Générique

redirect url to new website

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^OldWebServer/
RewriteRule (.*) http://NewWebServer/$1 [R=301,L]

réecriture d'url

RewriteEngine On
RewriteRule ^/URL1/(.*) /URL2/$1 [R]