Redirection 404 via le .htaccess / pb avec les liens relatifs

Discussion dans 'Débuter en référencement' créé par laurent_gers, 5 Mai 2022.

  1. laurent_gers
    laurent_gers Nouveau WRInaute
    Inscrit:
    5 Mai 2022
    Messages:
    19
    J'aime reçus:
    2
    bonjour à tous

    je viens de mettre la ligne
    ErrorDocument 404 /erreur_404.php
    dans mon .htaccess

    j'ai créé la page erreur_404.php sur mon site
    cette page utilise des liens relatifs (dont certains d'entre eux ne peuvent pas être traduits en liens absolus)

    lorsque l'on tombe sur des pages en 404, le transfert se fait bien vers la page erreur_404.php

    j'ai cependant un problème lorsque la page en erreur 404 n'est pas située au niveau / du site, alors que ma page erreur_404.php l'est

    dans ce cas, erreur_404.php tente de trouver les éléments (images par exemple) dont elle a besoin à partir de / mais elle le fait en fait à partir de l'adresse de la page qui a déclenchée l'erreur 404 initialement

    exemple :

    https://site.com/dossier/sous-dossier/page-en-erreur-404.php me retourne une erreur 404

    elle déclenche erreur_404.php et cette dernière cherche son image sur /image-de-erreur_404.jpg mais elle ne la trouve pas, car en fait elle tente de la trouver sur https://site.com/dossier/sous-dossier/image-de-erreur_404.jpg

    erreur_404.php cherche sur /dossier/sous-dossier/ au lieu de chercher sur /

    j'ai compris que je ne peux pas utiliser :
    ErrorDocument 404 https://site.com/erreur_404.php (qui pourtant fonctionne bien…)
    car j'obtiens alors un code 302 que je ne veux pas (pour les robots)

    voilà, il y a quelque chose qui m'échappe…

    merci d'avance pour votre aide

    laurent
     
  2. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 726
    J'aime reçus:
    171
    C'est tout le problème des liens relatifs, qui sont toujours relatifs à la page qui les affiche. Ta "page" erreur 404 fonctionne en remplacement de la page en erreur, mais ce n'est pas une redirection.
     
  3. laurent_gers
    laurent_gers Nouveau WRInaute
    Inscrit:
    5 Mai 2022
    Messages:
    19
    J'aime reçus:
    2
    je pensais qu'il serait logique qu'en indiquant /erreur_404.php cela remettrait en quelque sorte les compteurs à zéro ; je ne comprends pas trop pourquoi "/dossier/sous-dossier/" reste en mémoire… ???

    je me demande si en cherchant du côté des RewriteRule et notamment du RewriteBase / cela pourrait solutionner mon problème ? Le terme RewriteBase semble porteur… ??
     
  4. WebRankInfo
    WebRankInfo Admin
    Membre du personnel
    Inscrit:
    19 Avril 2002
    Messages:
    20 718
    J'aime reçus:
    778
    il faudrait utiliser des URL absolues
    ou voir du côté de la balise <base> (je ne sais pas si c'est adapté ici)
     
    Marie-Aude apprécie ceci.
  5. laurent_gers
    laurent_gers Nouveau WRInaute
    Inscrit:
    5 Mai 2022
    Messages:
    19
    J'aime reçus:
    2
    bien joué olivier !

    je ne pouvais pas utiliser des url absolues alors j'ai tenté ma chance en introduisant la balise <base> dans la partie head de ma page et oui cela fonctionne !!!

    quel plaisir de trouver des solutions à ses problèmes et +1 pour webrankinfo !
     
  6. laurent_gers
    laurent_gers Nouveau WRInaute
    Inscrit:
    5 Mai 2022
    Messages:
    19
    J'aime reçus:
    2
    une petite question légèrement en rapport :

    est-il vrai, au niveau du .htaccess, qu'un "ErrorDocument" est exécuté avant un "Redirect" ? (serveur apache)
     
  7. laurent_gers
    laurent_gers Nouveau WRInaute
    Inscrit:
    5 Mai 2022
    Messages:
    19
    J'aime reçus:
    2
    erreur !

    j'étais tombé dans un cas de figure où cela marchait, mais non, la balise <base> hélas ne solutionne pas le problème…
     
  8. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    2 012
    J'aime reçus:
    347
    URL relatives mais remontant à la racine en commençant par /
    Pour moi le terme "URL absolue" veut dire qu'on y indique le domaine en commençant par "http", chose à ne pas faire.
     
  9. colonies
    colonies WRInaute impliqué
    Inscrit:
    10 Septembre 2006
    Messages:
    666
    J'aime reçus:
    110
    Qu’est-ce que tu mets dans ta balise base ?
     
  10. laurent_gers
    laurent_gers Nouveau WRInaute
    Inscrit:
    5 Mai 2022
    Messages:
    19
    J'aime reçus:
    2
    j'avais mis ça dans le head de ma page
    HTML:
    <base href="https://monsite.com">
     
  11. colonies
    colonies WRInaute impliqué
    Inscrit:
    10 Septembre 2006
    Messages:
    666
    J'aime reçus:
    110
    Bizarre que ça n'ait pas fonctionné, alors.

    Je ne vois pas trop de raison pour que tu ne puisses pas avoir des liens absolus dans ta 404, mais si c'est le cas, tu peux toujours :

    Soit réécrire les URL avant d'envoyer la page :
    ob_start() pour éviter l'envoi du HTML
    ob_get_contents() pour récupérer le HTML
    utiliser les fonctions de DOM de PHP pour trouver les href et src qui ne commencent pas par / et l'ajouter.
    Transformer le DOM en HTML
    Envoyer le contenu.
    Mais bon, c'est vraiment moche, et il peut y avoir encore d'autres cas à gérer (srcset, background-image:url dans des CSS inline...)

    Soit, si c'est vraiment que dans le contenu de la page que tu n'arrives pas à gérer mais que pour ce qui est dans le head, ça va... mettre le contenu dans un iframe qui elle, sera à la racine. Peut-être.
    Auquel cas je te conseille de l'insérer en JS et uniquement si tu n'es pas déjà dans une iframe.
    Sinon, si un jour l'url de cette iFrame disparait... ce sera une 404, qui elle-même insèrera l'iframe... etc => récursion à l'infini.

    C'est vraiment si tu es complètement bloqué... parce que franchement, ce sont deux mauvaises solutions.
     
  12. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    2 012
    J'aime reçus:
    347
    Le base devrait marcher, mais comme on a même pas l'url de son site pour vérifier, laissons tomber...
     
  13. laurent_gers
    laurent_gers Nouveau WRInaute
    Inscrit:
    5 Mai 2022
    Messages:
    19
    J'aime reçus:
    2
    @colonies : voilà pourquoi
     
  14. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 974
    J'aime reçus:
    121
    Si tu obtiens une 302 dans ce cas de figure, c'est qu'il y a une autre règle qui interfère, de mon point de vue. Je creuserais de ce côté.

    Mais comme dit @rick38 on a pas l'url, on ne peut donc que difficilement t'orienter plus précisément.
     
    colonies apprécie ceci.
  15. laurent_gers
    laurent_gers Nouveau WRInaute
    Inscrit:
    5 Mai 2022
    Messages:
    19
    J'aime reçus:
    2
    J'ai finalement simplifié mes pages de gestion des erreurs 404 et 410 ce qui m'a permis de basculer en liens absolus à l'intérieur de ces pages, et du coup mes problèmes ont disparus.

    Merci à tous ceux qui ont participé à cette discussion.
     
    UsagiYojimbo et Marie-Aude aiment ça.
Chargement...
Similar Threads - Redirection 404 htaccess Forum Date
Redirection htaccess vers 404 Netlinking, backlinks, liens et redirections 2 Décembre 2019
Erreur 404 redirection 301 Htaccess URL Rewriting et .htaccess 4 Avril 2012
Suppression répertoire complet. Redirection 301 ou Erreur404 ? URL Rewriting et .htaccess 7 Janvier 2021
Erreur 404 car rajout de code dans une redirection Netlinking, backlinks, liens et redirections 6 Mai 2019
Redirection 404 Référencement Google 30 Mars 2018
Redirection 301 ou Erreur 404 Débuter en référencement 11 Novembre 2017
HELP ! page 404 en redirection 301 Netlinking, backlinks, liens et redirections 26 Octobre 2017
Soft 404 sur des redirections (produits supprimés) Crawl et indexation Google, sitemaps 4 Janvier 2017
Redirection des liens php (404) vers .html ou 410 Netlinking, backlinks, liens et redirections 21 Novembre 2016
Bing ne tient pas compte des informations redirections des 404 Référencement Bing 13 Août 2016
4000 redirections et 3000 404 dans search console ? Problèmes de référencement spécifiques à vos sites 27 Juin 2016
Redirections 301 considérées comme des soft 404 Crawl et indexation Google, sitemaps 26 Novembre 2015
Redirection 301 et erreur 404 Crawl et indexation Google, sitemaps 21 Juillet 2015
Que faire de ses pages 404 / redirections 301 Débuter en référencement 8 Juin 2015
404 SEO et redirection Développement d'un site Web ou d'une appli mobile 5 Juin 2015
Problème redirection de 404 + Rewriting URL Rewriting et .htaccess 23 Janvier 2015
Redirection 404 en PHP Référencement Google 3 Avril 2014
Redirection plutôt que page 404 Débuter en référencement 14 Février 2014
.htacces - Redirection Nom de Domaine & Eror404 Netlinking, backlinks, liens et redirections 4 Janvier 2014
404 ou redirection 301 Débuter en référencement 25 Janvier 2013