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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Gérer les erreurs 404 en local [Wamp]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 24
    Points : 12
    Points
    12
    Par défaut Gérer les erreurs 404 en local
    Bonjour à tous et à toutes,

    Je vous expose mon souci : je souhaite gérer les erreurs 404 potentiels de mon site développé en local avec Wampserver.

    J'ai donc créé un fichier .htaccess (placé dans le dossier /wamp/www/dossier_mon_site) dans lequel j'ai écrit l'instruction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ErrorDocument 404 /gestion/erreur404.html
    Je souhaite donc qu'à chaque fois qu'une erreur 404 est levée, le visiteur soit redirigé vers le fichier erreur404.html (placé dans le dossier /wamp/www/dossier_mon_site/gestion)

    Cependant lorsque j'essaie d'accéder à un lien inexistant pour tester le bon fonctionnement de la redirection j'obtiens le message d'erreur :
    Not Found

    The requested URL /share/fausse_page.php was not found on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
    Malgré pas mal de recherche je n'arrive pas à saisir l'erreur qui est sans doute assez logique.

    Le message d'erreur me laisse penser que le fichier .htaccess est bien lu mais étant assez novice dans ce domaine j'ai besoin de votre aide

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    - Est-ce que les .htaccess sont bien activés? Sinon, teste la ligne directement dans ton httpd.conf
    - Est-ce qu'il n'y a pas une redirection attrape-tout avant qui redirige toutes les requêtes vers un fichier? C'est le cas si tu as Wordpress, Drupal ou un framework d'installé.
    - Est-ce que tu peux lire /gestion/erreur404.html directement dans ton navigateur?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Alors je vais essayer de bien comprendre et par conséquent de bien répondre à tes questions.
    1. Les fichiers .htaccess semble bien activés :
    httpd.conf
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride all
    
    #
    Lorsque je place la ligne à la suite de l'instruction "AllowOverride all" et que je redémarre les services, l'erreur reste identique (j'ai bien pensé à vider mon fichier .htaccess avant)

    2. Je ne sais pas comment vérifier si j'ai une redirection attrape-tout. En tout cas je n'ai pas de framework installé sur ce PC

    3. le fichier est parfaitement accessible directement dans le navigateur.

    J'ai remarqué que dans le fichier httpd.conf se trouvait le bloc suivant :
    # The following lines prevent .htaccess and .htpasswd files from being 
    # viewed by Web clients. 
    #
    <Files ".ht*">
        Require all denied
    </Files>
    Cela aurait-il un lien avec mon problème ? A première vue je ne pense pas mais bon.

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Tu n'aurais pas une ligne de ce genre dans ton .htaccess?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule /index.php

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Non je n'ai que l'instruction suivante dans mon fichier .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ErrorDocument 404 /gestion/erreur404.html
    J'ai voulu commencer l'apprentissage par un test tout simple ^^

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Et ton .htaccess est bien situé au DocumentRoot de ton site, et non dans un sous-répertoire?
    Ton document root:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     /wamp/www/dossier_mon_site
    Ton htaccess:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     /wamp/www/dossier_mon_site/.htaccess
    Ton fichier 404:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     /wamp/www/dossier_mon_site/gestion/erreur404.html

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Oui pas de problème là-dessus, l'arborescence est bel et bien construite comme tu l'indiques.

    Par contre dans /wamp/bin/apache/apache2.4.9 on trouve un répertoire nommé error contenant des fichiers .html.var correspondant à diverses erreurs possibles (pour mon cas il s'agit du fichier HTTP_NOT_FOUND.html.var). Est-ce fichier qui est exécuté par wamp par défault lors qu'une erreur 404 est levé ? Ou sert-il pour construire les logs d'erreurs ?

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Je ne connais pas Wamp, mais ça semble bien les fichiers par défaut. Essaie de les modifier pour voir.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Pas de changement visible à l'affichage lorsque j'effectue des modifications sur ce fichier.
    J'ai parcouru l'ensemble du dossier wamp sans toutefois trouver quel fichier génère les messages d'erreurs par défaut.
    Merci pour ton aide en tout cas.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Problème résolu (durablement je l'espère ).

    La solution est en fin de compte toute simple :
    Etant donné que lorsque l'on souhaite effectuer des redirection 404 sur un site en ligne on doit indiquer l'adresse http de la page de redirection, j'ai appliqué le même principe en local en indiquant dans mon chemin http://localhost.

    Ainsi en lieu et place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ErrorDocument 404 /gestion/erreur404.html
    j'ai indiqué l'instruction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ErrorDocument 404 http://localhost/dossier_mon_site/gestion/erreur404.html
    Comme quoi il faut toujours revenir aux bases de la réflexion lorsque l'on a tendance à s'embourber

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. .htaccess pour gérer les erreurs 404 et alias
    Par antrax2013 dans le forum Apache
    Réponses: 4
    Dernier message: 04/12/2008, 17h11
  2. .htaccess pour gérer l'erreur 404 : plantage du site
    Par Thomus38 dans le forum Apache
    Réponses: 8
    Dernier message: 19/07/2006, 12h29
  3. Proc. Stock. : Gérer les erreurs
    Par audreyc dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 29/03/2006, 14h51
  4. gérer les erreurs intebase avec delphi
    Par mondanikoffi dans le forum Bases de données
    Réponses: 1
    Dernier message: 14/12/2004, 15h46

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