Comment forcer l'URL et les alias à apparaître sous une seule forme

De Vulgum Techus
Aller à : Navigation, rechercher

Il est courant qu'un site Internet ait plusieurs alias et soit opérationnel avec ou sans WWW dans son URL.

Pour obtenir que quelque soit l'alias ou la forme de l'URL affiche systématiquement la forme souhaitée d'URL, il faut passer par le mod_rewrite comme expliquer ci-après.

Exemple les URL suivants pointant vers le même site www.mondomaine.com

  • mondomaine.com
  • www.mondomaine.com
  • mondomaine.net
  • www.mondomaine.net
  • mon-domaine.com
  • www.mon-domaine.com
  • mon-domaine.net
  • www.mon-domaine.net

Pour s'assurer que quelle que soit l'URL saisi, l'affichage soit toujours www.mondomaine.com il convient de paramétrer soit .httaccess (à la racine du site) soit le virtual host avec les instructions suivantes :

rewritecond %{http_host} ^mondomaine.com [nc]
rewriterule ^(.*)$ http://www.mondomaine.com/$1 [r=301,nc]
rewritecond %{http_host} ^mon-domaine.com [nc]
rewriterule ^(.*)$ http://www.mondomaine.com/$1 [r=301,nc]
rewritecond %{http_host} ^www.mon-domaine.com [nc]
rewriterule ^(.*)$ http://www.mondomaine.com/$1 [r=301,nc]
rewritecond %{http_host} ^mondomaine.net [nc]
rewriterule ^(.*)$ http://www.mondomaine.com/$1 [r=301,nc]
rewritecond %{http_host} ^mon-domaine.net [nc]
rewriterule ^(.*)$ http://www.mondomaine.com/$1 [r=301,nc]
rewritecond %{http_host} ^www.mondomaine.net [nc]
rewriterule ^(.*)$ http://www.mondomaine.com/$1 [r=301,nc]
rewritecond %{http_host} ^www.mon-domaine.net [nc]
rewriterule ^(.*)$ http://www.mondomaine.com/$1 [r=301,nc]

Ainsi dans tous les cas, l'URL affichée, et donc vue par les usagers, sera www.mondomaine.com

Vous pouvez tester cette fonctionnalité avec Vulgum Techus en tapant vulgumtechus.com, vulgum-techus.com et www.vulgumtechus.com.

Notez qu'il est impératif que le paramètre MOD_REWRITE du fichier php.ini soit MOD_REWRITE=TRUE pour que la réécriture d'URL fonctionne.