Redirection de toutes les pages vers le www

WRInaute discret
Bonjour à tous,

J'ai appliqué le code donné par Olivier Duffez (ainsi que sur le forum) pour rediriger un site sans www vers le www (et éviter le contenu dupliqué).
Ca fonctionne très bien pour l'index mais pas pour les autres pages.
Petit rappel du code :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.mon-site\.com [NC]
RewriteRule (.*) http://www.mon-site.com/$1 [QSA,R=301,L]
Ma question :
Est-ce normal de n'avoir qu'une redirection de la home ? Cela suffit-il aux moteurs pour n'indexer que les pages avec www ?

Merci de vos lumières.
 
WRInaute impliqué
Essai celui ci :wink:

Code:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mon-site.com$
RewriteRule ^(.*) http://www.mon-site.com/$1 [QSA,L,R=301]
 
WRInaute accro
Code:
RewriteEngine On
ça c'est OK

dans ta règle a toi il y a pas mal de truc qui servent à rien dans ta condition :
RewriteCond %{HTTP_HOST} !^www\.mon-site\.com [NC]
ça c'est suffisant :
Code:
RewriteCond %{HTTP_HOST} ^mon-site.com #la condition est que le HTTP_HOST soit le domaine sans www

ensuite les QSA je sais pas a qui c'est utile mais moi perso je ne met dans la règle que :
Code:
RewriteRule (.*) http://www.mon-site.com/$1 [R=301,L] #renvoie tout en 301 sur le domaine en www [R=301] et arrête tous les traitements [L]

Il faut bien sur placer ces règles au dessus de celle qui pourrait opérer un traitement de modification ou autre redirection

pour aurelien :
la condition ici n'est pas valable
RewriteCond %{HTTP_HOST} ^mon-site.com$
C'est peut être la cause de la non prise en compte des urls profondes.

RewriteRule ^(.*) http://www.mon-site.com/$1 [QSA,L,R=301]
je ne voie pas l'utilité du ^
 
WRInaute discret
Merci Zeb pour ces précisions que j'ai appliquées, toutefois pas de changement, les pages se chargent toujours sans les wwww.
C'est peut-être dû à l'hébergeur, j'ai un dédié chez 1&1. Je vais leur poser la question.
EDIT : je doute que ce soit à cause de l'hébergeur, le problème est le même chez OVH en mutualisé.
 
WRInaute impliqué
C'est étrange sur tout mes sites mon code fonctionne parfaitement.

Par contre si tu passe par le htaccess, GG Webmaster Tools ne voudra pas faire la redirection, histoire de conflits surement.
 
WRInaute discret
GG Tools semble avoir accepté mon domaine favori.
Mais en effet, toujours pas de changement du côté du htaccess, je n'ai pas d'explication.
 
WRInaute discret
Bon, j'ai trouvé la raison à ce problème (mais je vous préviens j'ai honte).
J'avais un autre htaccess dans le dossier où se trouve le fichier qui traite le contenu.

EDIT : ça a identifié le problème, mais ça ne l'a pas réglé.
D'après ce que je l'ai lu sur le site, il n'est pas interdit d'avoir un htaccess dans un dossier (d'ailleurs ça m'arrange sinon il faut que je repense la réécriture d'URL de plusieurs rubriques).

J'en déduis donc qu'il faut que je mette le code de redirection dans chaque htaccess.
Sauf que le chargement des pages sans www renvoie toujours vers la home.
Un petit conseil ?
 
WRInaute discret
Je m'auto-réponds (encore une fois) : il fallait simplement préciser le dossier...
C'est bon, tout est ok ! Voici donc le résumé du code pour ceux qui galèreraient dans le futur :

A placer dans n'importe quel dossier
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mon-site.com
RewriteRule (.*) http://www.mon-site.com/dossier/$1 [R=301,L]

Les autres règles ici
 
Discussions similaires
Haut