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 :

traitement erreur 404 en php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    2 511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2 511
    Par défaut traitement erreur 404 en php
    Bonjour,

    J'ai un site web multilingue où je veux afficher une page personnalisée sur erreur 404.

    Je le fais en ajoutant le code suivant à un fichier "error.php"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (($this->error->getCode()) == '404') {
    header('Location: ./index.php?option=com_content&view=article&id=18');
    exit;
    }

    index.php?option=com_content&view=article&id=18 étant l'URL permettant d'accéder à la page 404 personnalisée


    Si l'URL faux est du genre "http: //www.xxx.com/Adresse d'une page inconnue", l'affichage de la page 404 se fait correctement

    Si l'URL faux est du genre "http: //www.xxx.com/en/Adresse d'une page inconnue" ("/en" étant dans ce cas pour la partie anglaise du site), l'affichage de la page 404 apparait sur la homepage parce que le code considère "http: //www.xxx.com/en" et non "http: //www.xxx.com" comme adresse de base du site.

    Peut-on modifier le code php utilisé pour que, quelque soit la langue utilisée, le code considère "http: //www.xxx.com" comme adresse de base et appèle la page 404 avec l'URL "http: //www.xxx.com/index.php?option=com_content&view=article&id=18"?

    Merci pour vos réponses

  2. #2
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 596
    Par défaut
    Salut,

    Cela dépendra toujours de ton host, https://www.php.net/manual/fr/reserv...les.server.php utilises la variable super global server. Tu ajoutes ton protocole (http ou https) ton host et tu concatènes pour avoir ton url.

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    2 511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2 511
    Par défaut
    Merci pour ton aide mais si j'en crois le lien que tu me fournis, la variable super global server en question n'est plus supportée depuis php en version 5.4...

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    C'est $HTTP_SERVER_VARS qui n'existe plus, elle a été remplacée par $_SERVER.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/05/2010, 19h50
  2. Réponses: 1
    Dernier message: 29/11/2008, 11h01
  3. [PHP-JS] erreur 404 avec menu déroulant
    Par midiweb dans le forum Langage
    Réponses: 5
    Dernier message: 15/02/2007, 16h56
  4. Erreur 404 alors qu'un traitement est en cours
    Par renaudjuif dans le forum Apache
    Réponses: 2
    Dernier message: 04/02/2007, 21h38

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