Url sans www

Mammouth du PHP | 568 Messages

12 mars 2012, 14:48

Bonjour à tous,

Quel est la bonne pratique concernant l'url d'accès à un site web ? Surtout sans le www (je pose pas la question avec hein) ?

J'ai lut ceci:

La plupart des hébergeurs permettent d’accéder à un site par l’adresse http://www.mon_site.com/ aussi bien que par http://mon_site.com/. Ceci crée un « duplicate content » qui est défavorable au référencement.
Il est donc souhaitable de choisir d’utiliser toujours la même forme d’adresses, soit avec www, soit sans www.

Quelqu'un aurait-il une infos la dessus ?

Personnellement je n'ai pas ce soucis puisque sur mes serveurs apache, j'ai une règle htaccess qui redirige automatique l'adresse avec le www lorsqu'il n'est pas inclus dans l'url.

Merci d'avance de l'aide que vous m'apporterez.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

12 mars 2012, 16:37

Bonjour,

Il s'agit effectivement d'une bonne pratique pour le référencement de forcer l'ajout du www. (ou de le retirer) mais en tout cas de n'en avoir qu'un seul.

Est-ce que c'est vraiment un + au référencement?
C'est difficile à évaluer (les algorithmes des moteurs de recherche étant confidentiels), mais d'un autre côté vu que ça ne coûte rien à mettre en place, donc autant le faire :)

Pour ceux que ça intéressent, voici le code pour faire cela du fichier ".htaccess" à mettre à la racine de son site:

Code : Tout sélectionner

RewriteCond %{HTTP_HOST} ^domaine.com$ RewriteRule ^(.*) http://www.domaine.com/$1 [QSA,L,R=301]
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 568 Messages

12 mars 2012, 19:25

Ok, je te remercie pour ton intervention.
Modifié en dernier par Yosh le 13 mars 2012, 00:00, modifié 1 fois.

ViPHP
ViPHP | 3607 Messages

12 mars 2012, 23:46

Bonsoir,

J'ajouterais ceci : pourquoi s'embêter avec le www. ?
Pour ma part, je supprime le www. (enfin je redirige sur http://domaine.com) dès que je peux, je trouve ça plus esthétique et plus court à tapper :)
Après les goûts et les couleurs :)

Ulrich
Invité n'ayant pas de compte PHPfrance

05 mai 2012, 14:52

Bonjour,

J'ai eu le meme besoin que Yosh, cependant avec la solution de @rthur j'ai des complications.
En fait j'ai 2 URIs qui ne doivent pas etre précédées du www comment puis-je les exclure du rewriteCond?

En gros je veux que toutes les requetes sauf les 2 suivantes soient redirigees vers www.mondomain.com:
  • mondomain.com/api1/(.*)
    mondomain.com/api2/(.*)
Merci d'avance pour votre aide.
Ulrich

ViPHP
ViPHP | 3607 Messages

05 mai 2012, 15:34

Quelque chose comme ça ?

Code : Tout sélectionner

RewriteCond %{REQUEST_URI} !^api1 RewriteCond %{REQUEST_URI} !^api2 RewriteCond %{HTTP_HOST} ^domaine.com$ RewriteRule ^(.*) http://www.domaine.com/$1 [QSA,L,R=301]

Ulrich
Invité n'ayant pas de compte PHPfrance

06 mai 2012, 18:17

Malheureusement ca ne marche pas, il fini toujours par rajouter le www.
Voila à quoi ressemble mon htaccess:

Code : Tout sélectionner

Options +FollowSymlinks RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !^api1 RewriteCond %{REQUEST_URI} !^api2 RewriteCond %{HTTP_HOST} ^domaine.com$ RewriteRule ^(.*) http://www.domaine.com/$1 [QSA,L,R=301] RewriteRule ^api/(.+)*$ /webservices/dispatch.php [L,QSA] RewriteRule ^wbs/order/(.+)*$ /webservices/order/exec.php?$1 [L,QSA] RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Ce que je souhaite c'est que les ^api/(.+)*$ et ^wbs/order/(.+)*$ echappent à la RewriteCond sur le HTTP_HOST.

ViPHP
ViPHP | 3607 Messages

06 mai 2012, 18:45

Et tu ne crois pas qu'il y a comme un problème à faire des copiers/collers comme ça ?
Regarde bien tes urls api1 != api et wbs/order/ != api2.

Ulrich
Invité n'ayant pas de compte PHPfrance

07 mai 2012, 00:51

Effectivement une erreur de copier/coller

Code : Tout sélectionner

Options +FollowSymlinks RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !^api RewriteCond %{REQUEST_URI} !^wbs RewriteCond %{HTTP_HOST} ^domaine.com$ RewriteRule ^(.*) http://www.domaine.com/$1 [QSA,L,R=301] RewriteRule ^api/(.+)*$ /webservices/dispatch.php [L,QSA] RewriteRule ^wbs/order/(.+)*$ /webservices/order/exec.php?$1 [L,QSA] RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

ViPHP
ViPHP | 5462 Messages

08 mai 2012, 17:43

C'est plutôt à régler direct dans la conf du serveur, le www est plus historique qu'autre chose

Petit nouveau ! | 7 Messages

14 juin 2012, 18:55

moi aussi je trouve que taper un URL sans www est moins embêtant tant que je vais être redirigé à la même adresse web