Messages: 116

Enregistré le: 2 Fév 2011

Message le Mar Juin 11, 2013 0:37

Bonsoir à vous les WRInautes !

En ce moment je prépare un nouveau site en HTML/CSS, jusqu'à là c'est classique, RAS tout va bien !

Je souhaite faire en sorte que lorsque l'utilisateur tape domaine.tld, il soit automatiquement redirigé sur http://www.domaine.tld ! Parce qu'actuellement n'importe qui peu lier ou accéder à mon site avec : domaine.tld et http://www.domaine.tld ! Mon but est donc comme vous l'avez compris de faire en sorte que domaine.tld devienne automatiquement http://www.domaine.tld pour les utilisateurs comme pour les liens éventuels qui pourraient être fait vers mon site.

J'ai donc essayé de régler le problème, ça donne ça :

Code: Tout sélectionner
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.*$
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [L,R=301]


Quant au résultat, il n'est pas terrible du tout. En effet, lorsque je clique sur le bouton accueil de mon menu qui pointe sur index.html, et que je supprime les 3 w devant domaine.com, ça me renvoie sur une page merdique qui est : http://www.domaine.comindex.html/ !

J'avoue ne pas avoir la moindre idée de ce qu'il faut faire pour régler ce souci...

Je vous remercie par avance,
Cordialement
Haut
2 Réponses
Messages: 12286

Enregistré le: 23 Nov 2005

Message le Mar Juin 11, 2013 7:44

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]
Haut
Messages: 116

Enregistré le: 2 Fév 2011

Message le Mar Juin 11, 2013 10:48

UsagiYojimbo a écrit:
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]


Merci à toi pour ton aide.

Comme je voulais aussi que lorsque quelqu'un veuille aller à la page index.html que ça redirige à la racine, j'ai fais ceci :

Code: Tout sélectionner
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ (/.*)?/index.(htm|html|php|asp)
RewriteRule ^(.*)index.(htm|html|php|asp)$ /$1 [R=301,L]


Et ça semble fonctionner parfaitement. Je voudrais tout de même être rassuré sur le fait que je ne risque aucun problème avec ce .htaccess du fait qu'il y a deux RewriteRule et autant de RewriteCond ?

Bien cordialement,
Haut