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

Apache Discussion :

ErrorDocument redirigés vers page unique contenant des chemins relatifs


Sujet :

Apache

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut ErrorDocument redirigés vers page unique contenant des chemins relatifs
    Bonjour à tous,

    dans le but d'afficher une page d'erreur personnalisée, j'ai ajouté à mon fichier .htaccess plusieurs directives ErrorDocument qui redirigent toutes vers une URL locale unique (/erreur.php) à la racine du serveur.
    erreur.php contient des include, des CSS , des liens et des images avec des chemins relatifs et affiche un message d'erreur en fonction de la variable REDIRECT_STATUS.

    Supposons que j'essaie d'accéder au document inexistant http://www.monsite.fr/blabla.html , j'obtiens bien ma page erreur.php qui traite une erreur 404. De même si j'essaie d'accéder au dossier inexistant http://www.monsite.fr/blabla .

    Le problème survient dès que l'on se situe dans au moins un sous-dossier, que ce dernier existe ou non.
    Par exemple, j'accède au fichier http://www.monsite.fr/blabla/blabla.html (idem si j'accède au dossier http://www.monsite.fr/blabla/ , notez le "/" à la fin contrairement à l'exemple ci-dessus). Je suis bien redirigé vers ma page erreur.php avec REDIRECT_STATUS = 404 mais tous les éléments de ma page sont désormais basés sur le répertoire blabla/ . J'ai donc des éléments manquants, des images qui ne s'affichent plus, des liens erronés et une mise en page qui a disparu.

    J'ai essayé plusieurs choses sans succès. En particulier, l'utilisation d'une URL externe http://www.monsite.fr/erreur.php ne convient pas car l'erreur est alors "masquée" (REDIRECT_STATUS = 200).
    Des suggestions ?

    Merci par avance.

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 377
    Points : 15 729
    Points
    15 729
    Par défaut
    dans le fichier erreur.php, soit tu peux mettre des chemins absolus
    soit tu peux utiliser un entête "base" à placer dans "head"
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <base href="http://www.monsite.fr/"/>

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    La balise base (dont je ne connaissais même pas l'existence) fonctionne parfaitement !
    Un grand merci pour ton aide mathieu .

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/07/2011, 12h34
  2. Réponses: 12
    Dernier message: 27/04/2011, 20h59
  3. [Debutant] Exécution d'un batch contenant des chemins relatifs
    Par Goupsy dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 14/12/2007, 10h31
  4. Comment faire 1 page web contenant des petits box comme ca ?
    Par mohamed dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 11/11/2006, 16h04
  5. Réponses: 15
    Dernier message: 05/09/2006, 12h08

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