Problème avec la redirection 301

Discussion dans 'Problèmes de référencement spécifiques à vos sites' créé par Alka, 11 Juin 2013.

  1. Alka

    Alka WRInaute discret

    Inscrit:
    2 Février 2011
    Messages:
    115
    J'aime reçus:
    0
    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:
    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
     
  2. UsagiYojimbo

    UsagiYojimbo WRInaute accro

    Inscrit:
    23 Novembre 2005
    Messages:
    12 380
    J'aime reçus:
    0
    Code:
    RewriteCond %{HTTP_HOST} ^example.com$
    RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]
    
     
  3. Alka

    Alka WRInaute discret

    Inscrit:
    2 Février 2011
    Messages:
    115
    J'aime reçus:
    0
    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:
    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,