IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Erreur 404 : récupérer l'URL en cause


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut Erreur 404 : récupérer l'URL en cause
    Bonjour,

    je suis en train de mettre en place un système de redirection en fonction des erreurs gérées par mon .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ErrorDocument 400 /erreur.php?id=400
    ErrorDocument 401 /erreur.php?id=401
    ErrorDocument 403 /erreur.php?id=403
    ErrorDocument 404 /erreur.php?id=404
    ErrorDocument 500 /erreur.php?id=500
    Comment, en cas d'erreur 404 récupérer l'URL du document désiré mais inexistant ?

    J'ai essayé $_SERVER['REQUEST_URI'] et $_SERVER['HTTP_REFERER'] mais ni l'un ni l'autre ne correspond à ce que j'essaye de récupérer....

    Merci d'avance

  2. #2
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    Je ne suis pas encore spécialiste, mais je crois que tu peux faire ça (à condition que le visiteur soit redirigé d'une page de ton site vers une autre page de ton site) avec les variables de session.

    Tu enregistres dans ta session l'url de provenance (de la page visitée avant le clic menant à la page non trouvée) et tu la retournes si le code erreur est 404.

    Pour la mise en oeuvre, d'autres sont plus compétents que moi...

    J'espère qu'ils illustreront mes propos avec quelques bouts de code...
    GAMIN !!!!
    _______________________________________________
    PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX

  3. #3
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    salut,
    ah cool je me suis toujours demandé comment on pouvait personnaliser les erreurs 40X

    ErrorDocument 400 /erreur.php?id=400
    ErrorDocument 401 /erreur.php?id=401
    ErrorDocument 403 /erreur.php?id=403
    ErrorDocument 404 /erreur.php?id=404
    ErrorDocument 500 /erreur.php?id=500
    faut mettre ca dans le htacces ou dans les pages web ?
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  4. #4
    Membre confirmé Avatar de a028762
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 419
    Points : 537
    Points
    537
    Par défaut C'est dans la doc :-)
    faut mettre ces infos dans le .htaccess ou
    si t'es maitre du serveur dans le http.conf

    dans PHP, pour répondre à la question initiale, le tableau $_SERVER["HTTP_REFERER"] affiche dans la page courante
    l'url de la page appelante

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    pour reconstruire l'URL complète tu peux utiliser ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $url  = '';
    $url .= (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://';
    $url .= $_SERVER['HTTP_HOST'];
    $url .= $_SERVER['REQUEST_URI'];

  6. #6
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    yop,
    ouai donc, j'ai fais mes pages d'erreurs.. ca marche niquel... mais il ne veux pas m'afficher d'images toutes simples...bizard...
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  7. #7
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    vérifie tes chemins relatifs...
    Ce sont les emplacements images vus à partir de la page que tu as créée...
    GAMIN !!!!
    _______________________________________________
    PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX

  8. #8
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="warning.gif"/>
    (ya pas plus con comme code...)
    ca marche depuis des années sur des millions de pages.. mais pas pour ma ***** de page 404.html....
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  9. #9
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    Ouais et puis y'a pas moins relatif que ce chemin-là...

    Mais t'arrives quand même sur ta page 404.html ?
    Si oui, le htaccess fonctionne bien, et c'est déjà cool...

    Je vais essayer chez moi si j'ai le même problème
    Je reviens...
    GAMIN !!!!
    _______________________________________________
    PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX

  10. #10
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    tiens, c'est marrent, quand je lance la page (clic droit ouvrir avec firefox...) ca marche ya mes images... mais il prends pas en compte ma feuille de style css
    si c'est pas l'un c'est l'autre... c'est quoi ce délir???

    (je passe par le httpd.conf pas le htaccess..) c'est peut etre pour ca...
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  11. #11
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    Peut-être, mais comme j'ai pas le droit de jouer avec le serveur, je ne sais pas si c'est à cause de ça...

    En tout cas, avec le HTACCESS, j'ai bien les images qui s'affichent...

    Essaie avec ce type de fichier...(à mettre dans le dossier des pages).
    Pour la redirection j'utilise une adresse en dur (http://monsite/mespages/lapaged_erreur.html)

    Aie, post croisé...
    GAMIN !!!!
    _______________________________________________
    PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX

  12. #12
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    pu**** mais ca va me rendre dingue !
    quand je tappes l'url dans la barre d'url... il me l'affiche bien..
    mais quand il doit me l'afficher par ce qu'il s'agit vraiment d'une erreur.. bah il me l'affiche n'importe comment....



    faut faire comment pour passer par le .htaccess ?
    suffit de mettre ErrorDocument 404 /erreurs/404.php a la suite ou faut rajouter autre chose ?

    erf, encore un croisement de post..
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  13. #13
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    t'as essayé de mettre l'url complète de la page 404 dans le fichier de conf?
    GAMIN !!!!
    _______________________________________________
    PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX

  14. #14
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    bon, ok la je passe pour un con....
    <img src="http://chemin">
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  15. #15
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    c'est quoi ça?

    Moi ce que je te disais, c'est de mettre l'url complète de la page 404.html dans le fichier de conf, pas dans la source de l'image, quoique ça ne devrait pas poser de problème...
    GAMIN !!!!
    _______________________________________________
    PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX

  16. #16
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    j'ai bien compris ce que tu me disais... mais il mettre l'url complète dans le fichier conf ne marchais pas...mais j'avais un pb avec mon image....
    j'hésite a effacer mes messages tellment j'ai honte...
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  17. #17
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    ben faut pas avoir honte !
    Juste, je perds un peu mon latin ...

    Quand ça fonctionne en direct ça ne fonctionne pas en redirection.... Y'a de quoi devenir dingue

    Reprenons méthodiquement, comme des débutants...
    Tes images sont dans quel dossier?
    Ta page d'erreur est dans quel dossier?
    Tu utilises le fichier httpd.conf ou le htaccess?
    GAMIN !!!!
    _______________________________________________
    PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX

  18. #18
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    ¤ mathieu : merci mais c'est pas exactement ce j'aimerais avoir...

    sans htaccess, une page introuvable affiche ceci :
    Not Found

    The requested URL /dossier/pagequinexistepas.php was not found on this server.
    il y a bien l'URL de la page demandée (-> /dossier/pagequinexistepas.php ), donc si le serveur Apache la connais, comment la récupérer ???

  19. #19
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    Je pense que Mathieu a bien répondu à ta question...

    En fait ce bout de code qu'il t'a donné, tu peux le mettre dans ta page erreur.php afin de récupérer l'url du document recherché...

    Tout dépend de ce que tu veux en faire...
    GAMIN !!!!
    _______________________________________________
    PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX

  20. #20
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    bah je ne crois...

    dans erreur.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	$url  = '';
    	$url .= (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://';
    	$url .= $_SERVER['HTTP_HOST'];
    	$url .= $_SERVER['REQUEST_URI'];
     
    echo "HTTP_REFERER: ".$_SERVER['HTTP_REFERER'];
    // affiche http://localhost/dossier/page_start.php
     
    echo "REQUEST_URI: ".$_SERVER['REQUEST_URI'];
    // affiche /dossier/erreur.php?id=404
     
    echo "url:".$url;
    // affiche http://localhost/dossier/erreur.php?id=404
    /dossier/pagequinexistepas.php n'est pas affiché !

Discussions similaires

  1. Récupérer l'url qui a provoqué erreur 404
    Par eprevot dans le forum Apache
    Réponses: 1
    Dernier message: 03/08/2013, 22h16
  2. Récupérer l'url complète dans une page d'erreur 404
    Par Olivier Regnier dans le forum Langage
    Réponses: 4
    Dernier message: 05/09/2007, 16h26
  3. Redirection erreur 404 => récupérer url demandée
    Par Le_PounK dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 21/03/2007, 16h32
  4. [Configuration] erreur 404, url demandée ?
    Par mikyfpc dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 08/10/2004, 09h37
  5. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo