Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Utiliser l'URL rewriting
Ce guide explique le principe de la réécriture d'URL (URL Rewriting) et montre comment l'utiliser sur un Hébergement Web Infomaniak à l'aide d'un fichier .htaccess.
Préambule
- La réécriture d'URL permet de présenter des adresses plus lisibles et plus explicites, par exemple en remplaçant une URL telle que
index.php?id=123par/article/123/. - Des URLs claires facilitent la navigation des visiteurs et peuvent contribuer à améliorer le référencement naturel (
SEO) en mettant davantage en valeur le contenu de la page. - Cette technique permet également de masquer certains détails techniques de l'application, comme les extensions de fichiers ou l'utilisation de paramètres dans l'URL, sans modifier le fonctionnement du site.
Exemple de réécriture d'URL
L'exemple suivant transforme une URL telle que article.php?id=25&cat=4 en une URL plus lisible sous la forme /article/25/4/.
Ajoutez les règles suivantes dans le fichier .htaccess situé à la racine de votre site :
# Disable directory listing and allow symbolic links owned by the same user
Options -Indexes +SymLinksIfOwnerMatch
# Enable the rewrite engine
RewriteEngine On
# Set the rewrite base if your site is installed in a subdirectory
# RewriteBase /admin/
# Rewrite rule
RewriteRule ^article/([0-9]+)/([0-9]+)/?$ article.php?id=$1&cat=$2 [L,QSA]Les options utilisées dans cette règle ont la signification suivante :
L(Last) : indique qu'aucune autre règle de réécriture ne doit être appliquée si celle-ci correspond.QSA(Query String Append) : conserve les éventuels paramètres supplémentaires déjà présents dans l'URL.
Important : la création de ces règles ne modifie pas automatiquement les liens présents sur votre site. Vous devez mettre à jour vos liens internes afin qu'ils utilisent le nouveau format d'URL.
Rediriger vers un domaine principal
Si plusieurs noms de domaine permettent d'accéder au même site, il est recommandé de rediriger l'ensemble des domaines secondaires vers un domaine principal. Cette pratique évite la duplication des contenus (duplicate content) et permet aux moteurs de recherche d'indexer une seule version de votre site.
Exemple de redirection permanente vers un domaine principal en HTTPS :
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domaine-secondaire\.xyz$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.domaine-secondaire\.xyz$ [NC]
RewriteRule ^(.*)$ https://www.mon-domaine-principal.com/$1 [R=301,L]L'option R=301 indique qu'il s'agit d'une redirection permanente. Les navigateurs et les moteurs de recherche sont ainsi informés que le contenu est désormais accessible à cette nouvelle adresse.
Lien vers cette FAQ: https://faq.infomaniak.com/206
Cette FAQ a été utile?