Version complète: sur le forum Webmaster Hub : Forcer les www sans forcer l'extension
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
owzzone
Bonjour,

Je souhaite forcer le www sur mon site. J'ai donc mis le code suivant :

CODE
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} !^www\.monsite\.com [NC]
RewriteRule (.*) http://www.monsite.com/$1 [QSA,R=301,L]

et ça fonctionne.

Problème : je veux lancer le site en anglais en utilisant un multi-domaine (site anglais hébergé dans un sous domaine et avec une url différente) et là impossible d'accéder à www.monsite.co.uk puisque je force l'écriture en .com j'arrive toujours sur www.monsite.com

Il me faudrait donc modifier mon code initial en enlevant le .com ou en écrivant un code qui fonctionne pour toutes les extensions. Mais là, mes compétences ne suffisent pas.

Quelqu'un peut m'aider ?

Merci !
Dan
Tu peux le faire très simplement en le forçant sur 2 lignes supplémentaires si tu inverses le test.
Donc au lieu de dire "si le nom de domaine ne commence pas par www.., tu testes si le nom de domaine commence par monsite..."
Cela te permettra aussi d'utiliser des sous-domaines, ce que ta première règle ne permet pas.

CODE
RewriteCond %{HTTP_HOST} ^monsite\.com [NC]
RewriteRule (.*) http://www.monsite.com/$1 [QSA,R=301,L]
RewriteCond %{HTTP_HOST} ^monsite\.co\.uk [NC]
RewriteRule (.*) http://www.monsite.co.uk/$1 [QSA,R=301,L]
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.