Redirection 301 incluse dans une 404 ?

Discussion dans 'Administration d'un site Web' créé par RG, 25 Mai 2006.

  1. RG
    RG WRInaute discret
    Inscrit:
    4 Août 2003
    Messages:
    64
    J'aime reçus:
    0
    Bonjour,

    J'ai cherché, cherché et franchement c'est un bor*** monstre dès qu'on parle de Redirection...

    Mon site Free [ http://r-o-main.guig-o-n.free.fr ] va déménager.

    Le problème c'est que sur ce domaine j'héberge 4 sites différents, et que seul celui à la racine est concerné par le déménagement. Cela m'interdit donc d'utiliser un .htaccess, car cela perturberait mes autres sites, qui n'ont rien à voir avec le NDD que j'ai acheté... Cette solution simple écartée, il reste la plus compliquée, à savoir celle consistant à placer une redirection HTML sur chaque page de lon site Free pour renvoyer l'utilisateur vers le nouveau....mais j'ai 800 pages...

    J'ai eu une idée, mais n'ai pas trouvé de réponse. Peut-on utiliser une page 404 en y intégrant une redirection 301. Google et Yahoo feront-ils attention à la rédirection ?

    Merci

    RG
     
  2. jeanluc
    jeanluc WRInaute accro
    Inscrit:
    3 Mai 2004
    Messages:
    2 875
    J'aime reçus:
    0
    Bonjour,

    Faire la redirection dans le .htaccess me semble la meilleure solution. Je ne vois pas en quoi le fait que certains répertoires ne doivent pas être redirigés est un problème. Il devrait être possible d'en tenir compte dans les conditions de redirection.

    Jean-Luc
     
  3. RG
    RG WRInaute discret
    Inscrit:
    4 Août 2003
    Messages:
    64
    J'aime reçus:
    0
    J'ai lu qu'on ne pouvait pas faire d'exception à la redirection via htaccess...
     
  4. jeanluc
    jeanluc WRInaute accro
    Inscrit:
    3 Mai 2004
    Messages:
    2 875
    J'aime reçus:
    0
    Tu parles de restrictions propres à Free ? Ailleurs il n'y a pas de problème, à condition d'utiliser les bonnes directives.

    Jean-Luc
     
  5. RG
    RG WRInaute discret
    Inscrit:
    4 Août 2003
    Messages:
    64
    J'aime reçus:
    0
    Quelles sont-elles ? J'ai cherché sans les trouver...
     
  6. jeanluc
    jeanluc WRInaute accro
    Inscrit:
    3 Mai 2004
    Messages:
    2 875
    J'aime reçus:
    0
    Tu as probablement lu que
    Code:
    RedirectPermanent / http://www.new-domain.com/
    s'applique à tout le site. C'est exact, mais il y a d'autres solutions.

    Il faudrait voir du côté de
    Code:
    RewriteRule modèle_avec_condition http://www.new-domain.com/$1  [QSA,L,R=301]
    ou du côté de
    Code:
    RewriteCond %{variable-serveur} condition
    puis la redirection sur la ligne suivante
    Pas le temps de regarder plus loin maintenant, mais il y a peut-être un expert en .htaccess dans les environs. :wink:

    Jean-Luc
     
  7. RG
    RG WRInaute discret
    Inscrit:
    4 Août 2003
    Messages:
    64
    J'aime reçus:
    0
    MERCi !
    Avis aux spécialistes :)
     
  8. RG
    RG WRInaute discret
    Inscrit:
    4 Août 2003
    Messages:
    64
    J'aime reçus:
    0
    J'ai lu à plusieurs endroits (notamment ici) que l'utilisation d'une 404 avec une redirection 301 incluse était une bonne solution ? Exact ? Google aime ou pas ? Ca me parait le plus simple en tout cas...

    Merci de votre aide
     
  9. RG
    RG WRInaute discret
    Inscrit:
    4 Août 2003
    Messages:
    64
    J'aime reçus:
    0
    Bon et ben voilà ce que j'ai fait

    Dans mon .htaccesss

    Et dans 404.php :

    J'imagine que c'est trop simple pour être valide...ça marche pour moi, mais cela marchera-t-il pour Google et Yahoo ?

    MERCi
     
  10. Thierry Bugs
    Thierry Bugs WRInaute accro
    Inscrit:
    16 Juin 2004
    Messages:
    3 363
    J'aime reçus:
    1
    si tu l'a fait pour "r@main.guign@n..." on on obtient une page blanche
    "HTTP 404 - Fichier non trouvé"
    ce qui veut dire pas ta page 404, et pas de redirection :
    cela ne fonctionne donc pas...

    (je n'ai pas de solution pour toi, mais la réponse éventuelle m'intéresse)
     
  11. RG
    RG WRInaute discret
    Inscrit:
    4 Août 2003
    Messages:
    64
    J'aime reçus:
    0
    En fait c'est normal que ça ne marche pas car je suis en phase de test. Comme mon NDD n'est pas encore valide, je suis toujours sur Free.
    Je cherche juste une solution à mettre en place dès que j'ai mon NDD.
     
  12. jeanluc
    jeanluc WRInaute accro
    Inscrit:
    3 Mai 2004
    Messages:
    2 875
    J'aime reçus:
    0
    Je ne pense pas que ce mélange 404/301 fonctionne. Quelle est l'adresse où tu as testé ?

    Si toutes les adresses à déménager sont de la forme http://romain.guigon.free.fr/nom-de-la-page.htm, tu pourrais essayer ceci (mais je ne sais pas ce qui est accepté ou pas par Free):
    Code:
    Options +FollowSymlinks
    RewriteEngine on 
    RewriteRule   ^[a-zA-Z_-]+\.htm$   http://www.nouveau-domaine.com/ [QSA,L,R=301]
    Tous les appels à une page .htm du répertoire principal seront redirigés vers la page d'accueil du nouveau domaine. Les appels à des pages dans des sous-répertoires ne seront pas redirigés.

    Jean-Luc
     
  13. RG
    RG WRInaute discret
    Inscrit:
    4 Août 2003
    Messages:
    64
    J'aime reçus:
    0
    :(
     
  14. RG
    RG WRInaute discret
    Inscrit:
    4 Août 2003
    Messages:
    64
    J'aime reçus:
    0
    Bon et bien finalement j'ai trouvé autre chose qui parait plus fiable, même si c'est pas le plus simple :

    Comme ça au moins je vais pouvoir choisir les pages que je vais rediriger :)

    Je pense que ça devrait aller ?
     
  15. Jul-Wup
    Jul-Wup WRInaute discret
    Inscrit:
    13 Décembre 2005
    Messages:
    69
    J'aime reçus:
    0
    Free n'accepte l'url rewriting donc ça bloquera et fera une 500 selon toute probabilité.

    Pourquoi n'essayes-tu pas dans le htaccess
    Code:
    ErrorDocument 404 /404.php
    et
    Code:
    <?php
    header("Status: 301 Moved Permanently");
    header("Location: " . $_SERVER['HTTP_REFERER']);
    exit;
    ?>
    ou quelque chose d'approchant dans la page 404.php ?
     
  16. jeanluc
    jeanluc WRInaute accro
    Inscrit:
    3 Mai 2004
    Messages:
    2 875
    J'aime reçus:
    0
    Bonjour Jul-Wup,

    Ça ne peut pas marcher parce qu'une URL ne renvoie jamais qu'un seul code. Donc si l'URL demandée renvoie un code 404, elle ne peut pas envoyer un 301.

    Code:
    ErrorDocument 404 /404.php
    n'est pas une redirection. Cela fonctionne plutôt comme si c'était un include. Il y a l'envoi du code 404 à ce niveau, mais aucune redirection.

    Si tu doutes, vérifie avec un outil de test d'en-tête HTTP.

    Jean-Luc
     
  17. Jul-Wup
    Jul-Wup WRInaute discret
    Inscrit:
    13 Décembre 2005
    Messages:
    69
    J'aime reçus:
    0
    Ben écoute, chez moi, ça affiche bien le referer.
    Je viens de faire le test en local.
    A vérifier sous Free :wink:
     
  18. jeanluc
    jeanluc WRInaute accro
    Inscrit:
    3 Mai 2004
    Messages:
    2 875
    J'aime reçus:
    0
    Si la redirection est suivie, c'est qu'aucun code 404 n'a été envoyé. Si tu mets ça en ligne, tu pourras vérifier avec un outil de test d'en-tête HTTP. :wink:

    Jean-Luc
     
  19. Jul-Wup
    Jul-Wup WRInaute discret
    Inscrit:
    13 Décembre 2005
    Messages:
    69
    J'aime reçus:
    0
    Tu as un exemple sous la main stp? Je suis perplexe. 8O

    J'ai fais le test avec une page index.php
    Code:
    <?php
    echo $_SERVER['HTTP_REFERER'];
    ?>
    <a href="index.php">Index</a>
    <a href="ex.php">Ex</a>
    
    et une page 404.php
    Code:
    <?php
    echo $_SERVER['HTTP_REFERER'];
    ?>
    et le htaccess et ça me renvoit le referer. Bien sûr, ex.php n'existe pas.
     
  20. RG
    RG WRInaute discret
    Inscrit:
    4 Août 2003
    Messages:
    64
    J'aime reçus:
    0
    Ah si si ça marche impec :)
    Toutes mes pages sont renvoyées vers l'URL. J'imagine que Yahoo saura interpréter ça correctement :)

    Je suis lancé dedans donc je vais persévérer :)
     
  21. jeanluc
    jeanluc WRInaute accro
    Inscrit:
    3 Mai 2004
    Messages:
    2 875
    J'aime reçus:
    0
    Je n'ai pas d'exemple sous la main.

    Pourrais-tu examiner le fichier log de ton serveur local ? Je serais étonné que tu y trouves un code 404, immédiatement suivi d'un code 301. Tu peux peut-être faire un copier/coller de quelques lignes de ton fichier log.

    Jean-Luc
     
  22. Jul-Wup
    Jul-Wup WRInaute discret
    Inscrit:
    13 Décembre 2005
    Messages:
    69
    J'aime reçus:
    0
    RG, ça a bien changé depuis que je ne suis plus là bas. Tant mieux ceci dit.


    J'ai ça dans le fichier logs.
    Code:
    127.0.0.1 - - [27/May/2006:17:21:25 +0200] "GET / HTTP/1.1" 200 3560
    127.0.0.1 - - [27/May/2006:17:21:28 +0200] "GET /Essai/ HTTP/1.1" 200 1784
    127.0.0.1 - - [27/May/2006:17:21:29 +0200] "GET /Essai/WRI/ HTTP/1.1" 200 91
    127.0.0.1 - - [27/May/2006:17:21:32 +0200] "GET /Essai/WRI/ex.php HTTP/1.1" 302 329
    127.0.0.1 - - [27/May/2006:17:21:32 +0200] "GET /Essai/WRI/404.php HTTP/1.1" 200 39
    
    Apparemment, il me fait une 302?? 8O (le chiffre après le 302, le 200,c'est quoi?)
     
  23. jeanluc
    jeanluc WRInaute accro
    Inscrit:
    3 Mai 2004
    Messages:
    2 875
    J'aime reçus:
    0
    Quand tu demandes ex.php, le serveur répond par le code 302, c'est-à-dire qu'il demande à ton navigateur d'aller voir à l'adresse de redirection 404.php.

    Puis, quand ton navigateur demande 404.php, le serveur répond par le code 200, c'est-à-dire qu'il a trouvé la page et il l'affiche.

    C'est plus ou moins ce que j'attendais, sauf que je ne vois aucune trace de la redirection 301 de 404.php vers l'adresse du referrer (pourtant tu disais qu'il suivait cette redirection; on dirait que ta redirection 301 ne marche pas). D'après l'extrait du fichier log, finalement c'est 404.php qui s'affiche dans la barre d'adresse du navigateur; je suppose que c'est ce que tu constates.

    Jean-Luc
     
  24. Jul-Wup
    Jul-Wup WRInaute discret
    Inscrit:
    13 Décembre 2005
    Messages:
    69
    J'aime reçus:
    0
    je n'ai pas fait de 301. J'ai juste affiché le referer sur la page 404.php. Et c'est le cas. Si cela marche en local, pourquoi cela ne fonctionnerait-il pas sur Free? :roll:
    Auquel cas une 301 sur cette 404.php vers le site final fonctionnerait. J'ai manqué une étape? 8O
     
  25. jeanluc
    jeanluc WRInaute accro
    Inscrit:
    3 Mai 2004
    Messages:
    2 875
    J'aime reçus:
    0
    En fait, quand tu auras installé ta redirection 301, tu vas commencer par envoyer une redirection 302 et la faire suivre par une redirection 301, comme ceci:

    ex.php => 302 => 404.php => 301 => adresse_finale.php

    Donc, tu n'envoies jamais de code 404 (page n'existe plus). Tu dis plutôt aux visiteurs que la page a changé d'adresse. En soi, c'est une bonne solution, mais tu le fais de façon compliquée puisqu'il y a deux redirections différentes pour arriver à la bonne nouvelle adresse. Peut-être que les robots de Google et Yahoo s'y retrouveront, mais c'est quand même risqué.

    Jean-Luc
     
  26. Jul-Wup
    Jul-Wup WRInaute discret
    Inscrit:
    13 Décembre 2005
    Messages:
    69
    J'aime reçus:
    0
    Ok, je comprends ce que tu veux dire. :wink:
    A voir si le risque est pris pour le cas initial donc.
     
Chargement...
Similar Threads - Redirection 301 incluse Forum Date
Baisse du trafic après redirection 301 Problèmes de référencement spécifiques à vos sites 11 Août 2021
Search Console Créer des sitemap avec les redirections 301 Netlinking, backlinks, liens et redirections 14 Avril 2021
Configurer une redirection www (301) plutôt qu'une 302. URL Rewriting et .htaccess 29 Janvier 2021
Redirection 301 Domaines et structures différentes URL Rewriting et .htaccess 26 Janvier 2021
Suppression répertoire complet. Redirection 301 ou Erreur404 ? URL Rewriting et .htaccess 7 Janvier 2021
Redirection 301 et migration Problèmes de référencement spécifiques à vos sites 10 Décembre 2020
redirection 301 et https URL Rewriting et .htaccess 5 Septembre 2020
WordPress Refonte des catégories, structure et format des URL, redirections 301 Référencement Google 17 Juillet 2020
Prestashop : annuler une redirection 301 après avoir désactivé une fiche produit Netlinking, backlinks, liens et redirections 10 Juillet 2020
Redirections 301 Problèmes de référencement spécifiques à vos sites 3 Juillet 2020
Redirection 301 sur 445000 url Netlinking, backlinks, liens et redirections 26 Juin 2020
Redirection 301 d'un NDD vers l'accueil de mon site Noms de domaine et référencement 4 Mai 2020
Que faire des produits en rupture définitive ? Redirection 301 ? e-commerce 20 Avril 2020
Problèmes des redirections 301 en transparence Noms de domaine et référencement 12 Mars 2020
WordPress Comment retrouver où est faite une redirection 301 ? Administration d'un site Web 2 Mars 2020
Redirection 301 et indexation Crawl et indexation Google, sitemaps 24 Février 2020
probleme de redirection 301 certbot Administration d'un site Web 12 Janvier 2020
Redirections permanentes 301 pour produits arrêtés définitivement e-commerce 27 Novembre 2019
Redirection 301 d'un nom de domaine et doublon Référencement Google 9 Novembre 2019
Problème suite à redirection 301 URL Rewriting et .htaccess 4 Novembre 2019