0
votes

Réglage de la configuration PHP pour les erreurs 404

Notre installation PHP intercepte des erreurs non trouvées 404 et affichant ce message d'erreur de base et générique 404 sur les pages avec le .php extension:

fichier non trouvé.

Il empêche le demandeur de voir notre page Erreur 404 bien formatée.

Comment couper le paramètre PHP pour que le serveur utilise nos directives Apache pour 404?

Voici une capture d'écran du bien formaté 404 .

Voici une capture d'écran du 404 que Ne suivez pas les directives Apache.


3 commentaires

Vous soulevez-vous un 404 de votre application PHP ou est-ce une perspective du système de fichiers (et donc de Apache)? Habituellement, il y a une condition de réécriture transmirant tout le trafic à un gestionnaire spécifié comme rewriterule ^ (. *) $ Index.php [qsa, l] avec une ou deux conditions de "fichier n'existe pas" et "répertoire" n'existe pas". Pouvez-vous publier votre fichier haccessé?


@Chrishaas - Ce n'est pas un fichier .htaccess. L'ensemble du serveur (dizaines de Vhosts) ne suivez pas la directive Errordocument 404 Apache lorsque la demande est destinée à un fichier .php. Les fichiers .html fonctionnent avec la directive 404.


Je pense ici que vous trouvez ici une réponse: Stackoverflow.com/questions/19962787/...


3 Réponses :


0
votes

Je commencerais à regarder les fichiers Apache Conf (tous les fichiers Conf dans le dossier Apache, c'est-à-dire dans / etc / apache2 sous exemple ou toutes les configurations de fichiers VHOST qui doivent être dans quelque chose comme / etc / apache2 / Sites activé ou similaire) Si rien n'y a d'aide là-bas alors Je voudrais commencer à regarder les fichiers .htaccess

Si je me souviens, il n'y a rien dans la configuration PHP qui dit d'intercepter le 404


10 commentaires

J'ai tout regardé et j'ai couru des dizaines de tests et des modifications sur tout ce que je pouvais penser avant de poster ici. Documents Web avec des extensions .html Obtenez l'Errordocument 404 Apache Directive à travailler. Les documents Web avec les extensions .php ne le font pas.


ahh ok maintenant je comprends votre demande, ce que vous avez à faire, il s'agit alors d'avoir votre page HTML quelque chose comme


Merci @ d3javu999: (1) Je ne comprends vraiment pas votre commentaire. (2) Mais si je l'interpréte correctement, la tâche à accomplir serait impossible. Nous avons 10 des milliers, sinon 100 de milliers de documents Web .php sur notre serveur qui permet 50+ vhosts. Je / nous ne pouvons pas changer la façon dont nous avons construit notre portefeuille Web. (3) Où sur Terre le "fichier non trouvé" est-il venu de l'échec des documents .php uniquement? C'est l'essence de ma question!


Le fichier non trouvé doit être venu de la configuration Apache ou du code d'erreur HTTP, avez-vous essayé sur différents navigateurs?


Merci @ d3javu999: différents navigateurs (Chrome, IE, Firefox, Opera), différentes machines (Windows, MacBook), différents appareils (iPhone iOS / Safari). Rien!


FYI @ D3JAVU999 - J'ai modifié mon OQ avec des examens d'écran.


Merci d'avoir demandé et coller avec ce @ d3javu999. Aucun cadre en soi. Nous exécutons des mots WordPress (les extensions de fichier .php échouent là-bas pendant que les fichiers .html ne le font pas), en exécutant une bande bootstrap et des fondations, beaucoup de jQuery, etc. mais rien qui ne touche que le niveau de service Web d'OS ou Apache.


Apache 2.4 et PHP 7.0


En fait je suis à court d'idées @h


@ H.ferrence Je suis à l'abri des idées, à ce stade, j'irais une approche plus drastique en utilisant Grep. Cette chaîne devrait venir de quelque part. Une fois que vous avez compris, quelle est la page responsable de votre choix qui utilise cette page. Il n'y a rien dans la configuration PHP environ 404 pages à moins que ce soit un cadre (c'est-à-dire codeignitor, phalcon, etc.). WordPress devrait avoir quelque part dans les paramètres de la page 404. Mais principalement, je regarderais d'abord dans la configuration Apache et Vhost ou les fichiers .htaccess. Regardez dans la configuration Apache d'abord, l'erreur devrait réside là-bas.



1
votes

Vérifiez votre fichier .htaccess . Vérifiez si vous êtes personnalisé errordocument est défini. Par exemple: xxx

Vérifiez s'il y a des redirigations de pages correspondant à .php extension. Par exemple: xxx


1 commentaires

Cela a l'air correct pour moi. Mais il y a encore quelques autres sources d'erreur potentielles. Par exemple, vous devez vérifier si vous êtes autorisé à utiliser des fichiers HTACCESS. La plupart des fournisseurs comme Strato le permettent, mais il y en a quelques-uns qui ne le font pas. Aussi une erreur dans le reste de votre fichier hACCESS pourrait le faire fonctionner correctement



0
votes

En raison de l'activation du mod_proxy_fcgi et de l'utilisation de PHP-FPM, cela pourrait arriver.La page d'erreur par défaut dans le proxy est fichier non trouvé . Essayez d'ajouter les éléments suivants dans votre http.conf ou apache.conf xxx


0 commentaires