Magicprog.fr

Htaccess et réécriture d'url (ou URLRewriting)

Htaccess et réécriture d'url (ou URLRewriting)

Le htaccess


Le fichier .htaccess est un fichier de configuration pour le serveur et sert a définir des règles pour son répertoire et tous les sous dossiers.
il permet de faire une multitude de choses, dont réécrire des urls, rediriger des sous domaines, gérér les messages d'erreurs personnalisés ou encore restreindre l'accès a certains dossiers.
Tout d'abord, activer la réécriture d'url avec la ligne suivante :

RewriteEngine on

La redirection de sous domaine


Deux conditions sont essentielles, afin d'éviter le duplicate content sur son site, qui par défaut est présent sur toutes les pages.
Par exemple, www.magicprog.fr et magicprog.fr sont un cas de contenu dupliqué, il est donc nécessaire d'empêcher ça !
La ligne suivante permet de rediriger magicprog.fr vers www.magicprog.fr

RewriteCond %{HTTP_HOST} !^www. [NC]

La réécriture d'url


En premier lieu, il faut spécifier la manière de réécrire les urls. Ici, on spécifie que la redirection est de type 301 (redirection permanente).
On dit également qu'il n'y aura pas de / à ajouter en fin d'url.

RewriteRule .? http://www.magicprog.fr%{REQUEST_URI} [R=301,L]

Puis on réécrit les url que l'on souhaite changer, par exemple, pour réécrire index.php?mapage=article en article.php, on utilisera :

RewriteRule ^article.php$ index.php?mapage=article

Pour les paramètres de type GET, on peut également les écrire comme on le souhaite par exemple pour index.php?mapage=article&monarticle=abc, on pourra écrire article-abc.php

RewriteRule ^article-(.*).php$ index.php?mapage=article&monarticle=$1

La gestion des erreurs HTTP


On peut gérer les pages d'erreurs, comme 404 Not Found ou encore 404 Bad Request afin d'avoir des pages personnalisées.
Pour cela, une syntaxe simple : "ErrorDocument" suivi du numéro de l'erreur, puis de la page sur laquelle on devra rediriger la personne.
Par exemple, pour les erreurs les plus souvent rencontrées :

ErrorDocument 400 http://www.magicprog.fr/erreur400.html
ErrorDocument 401 http://www.magicprog.fr/erreur401.html
ErrorDocument 403 http://www.magicprog.fr/erreur403.html
ErrorDocument 404 http://www.magicprog.fr/erreur404.html
ErrorDocument 500 http://www.magicprog.fr/erreur500.html

Bloquer le listing


Pour éviter l'affichage de la liste lorsque l'on va sur une url du style http://www.magicprog.fr/images, on peut simplement ajouter une option dans le fichier htaccess :

Options -Indexes

Il existe de nombreuses autre instructions utilisables dans le fichier .htaccess, mais je ne les aborderais pas dans cet article.


Nos articles Référencement & SEO