DC sur les WWW

Discussion dans 'URL Rewriting et .htaccess' créé par Arth31, 25 Février 2014.

  1. Arth31
    Arth31 Nouveau WRInaute
    Inscrit:
    25 Février 2014
    Messages:
    7
    J'aime reçus:
    0
    Bonjour,

    Mon site souffre de DC car il est accessible avec et sans les WWW.
    J'ai trouvé ce morceau de code à insérer dans mon fichier htaccess :

    Code:
    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^mon_site.com$
    RewriteRule ^(.*) http://www.mon_site.com/$1 [QSA,L,R=301] 
    Cela fonctionne sur la homepage mais pas sur les pages internes du site.

    Que manque t-il à mon code ?

    Merci
     
  2. Tanuki
    Tanuki WRInaute occasionnel
    Inscrit:
    26 Avril 2006
    Messages:
    370
    J'aime reçus:
    0
    Essaye comme ça:

    Code:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^mon_site.com$
    RewriteRule ^(.*)$   http://www.mon_site.com/$1  [QSA,L,R=301]
    C'est mieux?
     
  3. Madrileño
    Madrileño Membre Honoré
    Inscrit:
    7 Juillet 2004
    Messages:
    32 079
    J'aime reçus:
    283
  4. Arth31
    Arth31 Nouveau WRInaute
    Inscrit:
    25 Février 2014
    Messages:
    7
    J'aime reçus:
    0
    Merci coquette, mais malheureusement les pages internes ne sont toujours pas redirigées. :|

    Madrileño, merci pour le topic mais sauf erreur de ma part, j'ai déjà essayé les techniques listées. J'imagine que la boulette doit venir de moi, mais je ne comprends pas où.

    Le cms est spip et le htaccess contient déjà d'autres lignes de "codes", notamment, le "RewriteEngine On".

    Avez-vous des idées ?

    Merci,
    Bonne soirée
     
  5. bossboss
    bossboss WRInaute occasionnel
    Inscrit:
    28 Août 2004
    Messages:
    344
    J'aime reçus:
    0
    Code:
    Options +FollowSymlinks 
    RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^monsite\.com$ [NC]
    RewriteRule ^(.*) http://www.monsite.com/$1 [QSA,L,R=301]
    Hello essaye ainsi?
     
  6. Arth31
    Arth31 Nouveau WRInaute
    Inscrit:
    25 Février 2014
    Messages:
    7
    J'aime reçus:
    0
    Merci bossboss mais malheureusement, ça ne marche toujours pas. J'ai essayé sur un autre de mes sites et toujours le même problème. La redirection fonctionne sur la home mais pas sur les pages internes du site. :cry:
     
  7. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 181
    J'aime reçus:
    1
    vire le dollars "$" a la fin de la condition car on se moque de la fin c'est le début qui compte et simplifie la capture.
    escaper le "." est inutile car si pris en compte comme point ça colle et si pris en compte comme un caractère quelconque c'est pareil.

    Code:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^example.com
    RewriteRule (.*) http://www.example.com/$1 [R=301, L]
    Si ça ne fonctionne pas c'est que tu as un problème chez toi ça tourne bien chez moi.

    note au passage que la capture (.*) procède sur la partie de l'url sans le domaine donc :
    "dossier/page.php" ou "/dossier/page.php", bref il faut voir si il y a lieu de réécrire "http://www.example.com/$1" ou "http://www.example.com$1". chez moi c'est la première option qui tourne mais j'ai un doute d'un coup sur la capture.
     
  8. Arth31
    Arth31 Nouveau WRInaute
    Inscrit:
    25 Février 2014
    Messages:
    7
    J'aime reçus:
    0
    Merci à tous pour vos réponses. Zeb, j'ai testé ta solution mais j'ai eu une belle erreur 500 (mais merci pour ta contribution).
    Finalement ma redirection fonctionne avec la solution de bossboss.

    C’était une erreur de ma part, je plaçais la redirection trop bas dans le fichier et après d'autres redirections ce qui provoqué le problème.
    Après avoir placé le code tout en haut de mon fichier htaccess, le problème s'est résolu.

    Merci à tous et bonne après midi.