Archives mensuelles : octobre 2010

.htaccess – Redirection vers un sous-dossier

Voici comment faire pour rediriger les requêtes du dossier principal d’un site web vers un sous-dossier :

# Activons le "RewriteEngine" pour pouvoir 
# utiliser les "RewriteRule" et "RewriteCond"
RewriteEngine on

# Ensuite, vérifions que nous sommes bien sur 
# mathieupeloquin.com ou www.mathieupeloquin.com
# et dans le sous-dossier voulu.
RewriteCond %{HTTP_HOST} ^(www.)?mathieupeloquin.com$
RewriteCond %{REQUEST_URI} !^/sous-dossier/

# Vérifions si la personne a tapé le nom d'un
# fichier ou dossier existant (dans ce cas, nous
# ne voulons pas ré-écrire la requête...)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Maintenant que toutes les conditions ont été
# rencontrées, on redirige vers le bon sous-dossier
RewriteRule ^(.*)$ /sous-dossier/$1

# Finalement, on vérifie si la personne n'a seulement
# tapé que le nom de domaine (avec ou sans www) sans
# rien mettre après la barre oblique (/). Si oui, on redirige
# vers le bon sous-dossier, sur le fichier principal...
# (notez que le fichier pourrait être autre chose, tel que
# index.php, autrefichier.html, quelquechose.php...)
RewriteCond %{HTTP_HOST} ^(www.)?mathieupeloquin.com$
RewriteRule ^(/)?$ sous-dossier/index.html [L]

Il faut simplement mettre ce code (vous pouvez inclure les lignes débutant par # puisque ce sont des commentaires qui ne seront pas traités par Apache).