Mandrake 10 - httpd.conf et ErrorDocument

Bonjour tout le monde ..
Je viens de transferer mon site sur un serveur perso
'Mandrake 10 , Apache, Php , MySql'
Le tout fonctionne relativement bien ..
Le seul 'hic c'est la gestion des erreurs ( 400,401,403,404 ... )
Je me suis cassé la tête mais rien à faire .. pas moyen d'avoir ma page d'erreur perso .. ;o(

Voici un aperçu ( résumé de httpd.conf et commonhttpd.con)

User apache
Group apache

ServerRoot /etc/httpd/2.0
#ServerName localhost
#LockFile /etc/httpd/httpd.lock
PidFile /var/run/httpd.pid
ErrorLog logs/error_log
LogLevel warn
DocumentRoot /var/www/html/homepage

#Restricted set of options
<Directory />
Options -All -Multiviews
AllowOverride None
Order deny,allow
Deny from all
</Directory>

#--------------------------------------------------------------------------
<Directory /var/www/html/homepage>
Options none
AllowOverride none

Order allow,deny
Allow from all

ErrorDocument 400 /erreur.php?err=400
ErrorDocument 401 /erreur.php?err=401
ErrorDocument 403 /erreur.php?err=403
ErrorDocument 404 /erreur.php?err=404
ErrorDocument 500 /erreur.php?err=500

</Directory>
#---------------------------------------------------------------------------

PS: J'ai vérifier le truc d' I.E avec la taille de la page d'erreur ( 512 je crois ..?) mais ca doit le faire ..

Un début de solution ?? rien trouvé sur les != forums ..

A+ , merci

5 réponses

  1. Et si tu essayais ça

    ErrorDocument 400 /erreur.php?id=400
    ErrorDocument 401 /erreur.php?id=401
    ErrorDocument 403 /erreur.php?id=403
    etc ...
    plutot que
    ErrorDocument 400 /erreur.php?err=400
    ErrorDocument 401 /erreur.php?err=401
    ErrorDocument 403 /erreur.php?err=403
    ErrorDocument 404 /erreur.php?err=404
    ErrorDocument 500 /erreur.php?err=500

    Bon courage
    1. Salut fablac ...

      Pourquoi proposes-tu cela ..? une raison particulière ..??

      ErrorDocument 400 /erreur.php?id=400 à la place de
      ErrorDocument 400 /erreur.php?err=400 ...???

      Je ne vois pas .. dans erreur.php je récupère la variable 'err' avec GET .. alors pourquoi mettre 'id' ..?

      je veux bien changer mon code php si utile .. ( suis pas devant le serveur la, donc pas essayer ..)

      PS: l'appel direct à erreur.php fonctionne (le passage de la variable 'err' aussi ..)

      Merci .. A+
  2. Webmaster
    Salut, quelques précisions seraient les bienvenues :)

    Le probleme au final il est où ?
    La page d'erreur n'est pas appelée, ou elle ne s'execute pas comme il faut?

    Que se passe t il exactement quand tu demandes une page inexistante ?

    ...Mana mana
       Tutudutu...
    1. Chez moi ça marche

      je créé un script toto.php
      <?
      echo $id;
      ?>
      je le met dans /var/www/error/
      je met apache comme propriétaire "chown apache.apache toto.php"

      j'édite dans commonhttpd.conf

      #
      Alias /error/ "/var/www/error/"
      #
      <Directory "/var/www/error/">
      AllowOverride None
      Options IncludesNoExec
      AddOutputFilter Includes html
      AddHandler type-map var
      Order allow,deny
      Allow from all
      LanguagePriority fr sv
      ForceLanguagePriority Prefer Fallback
      </Directory>
      #
      ErrorDocument 404 /error/toto.php?id=404
      j'appelle une page bidon

      J'ai le résultat "404" dans le navigateur

      J'éspère que cela peut aller pour toi
      1. ok .. merci. je teste tout ca dès que j'ai le temps ..

        : asevere

        Le problème que sous mon poste win xp lorsque j'appelle une page bidon, IE me sors sa propre page d'erreur et idem sur le serveur ..
        comme si la config n'est pas pris en compte .. bizarre ??
        1. Justement voila à quoi sert la config que je t'ai filé
          à rediriger les erreurs vers le serveur

          si tu veux voir comment réagit ton serveur
          fait un "tail -f /var/log/http/error_log" ( c'est ce que t'a dans ton fichier )

          par contre si tu as un proxy certaine erreur seront renvoyé par lui