Redirection via .htaccess

Note : Les exemples suivants nécessite RewriteEngine On en début de fichier .htaccess et peuvent être à adapter selon l’hébergement.

Rediriger toute l’arborescence d’une url vers une adresse unique

Rediriger toute adresse /toto/titi/whatever vers /-Education-artistique-.html

RewriteRule ^toto(\/.*)?$ /nouvelle-adresse.html [R=301,L]

Rediriger toute l’arborescence d’une url vers une adresse en conservant l’arborescence

Rediriger toute adresse www.domaine.net/mondossier/toto/titi vers sousdomaine.domaine.net/circulations/toto/titi

RewriteRule ^mondossier(\/.*)?$ http://sousdomaine.domaine.net/$0 [R=301,L]

Rediriger une url avec présence, ou non, d"une chaine de caractère (par ex : /fr/ ou /en/ )

RewriteRule ^((fr|en)\/)?ancienne-page.html \/nouvelle-page.html [R=301,L]

Redirection https simple

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]

Redirection vers www et https

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]

Rediriger toutes les adresses sauf certaines extensions

Dans le cas d’une mutualisation SPIP par exemple.

RewriteCond %{REQUEST_URI} !\.(jpg|css|htm|woff|woff2|pdf)$
RewriteRule ^(.+)$ / [R=307,L]

Rediriger domaine.net vers www.domaine.net uniquement pour un domaine spécifique

RewriteCond %{HTTP_HOST} !=domaine.net
RewriteRule .* - [S=1]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]