Bonsoir,
J'ai un petit problème avec mon serveur NGINX
Mon serveur est sous NGINX, et lorsque je fais des erreurs PHP dans un fichier accessible en " .php " (malgré la présence de mon routeur (le routeur crée des urls comme celles-ci: www.domaine.com/accueil, mais les fichiers .php restent accessibles quand ils sont pas dans le dossier " pages/ ": www.domaine.com/test.php )) elles s'affichent. En revanche, si je fais une erreur dans un fichier créé et traité par la redirection de mon routeur, j'ai une erreur " HTTP ERROR 500 ". C'est peut-être un peu incompréhensible, alors voici des exemples (le contenu et l'erreur PHP est la même pour les deux fichiers):
- Page accessible dans le dossier " pages/page_router.php " traité grâce au routeur et qui crée une erreur 500: http://pvp-blastfight.fr:800/page_router .
- Page accessible à la racine où le routeur n'entre pas en compte: http://pvp-blastfight.fr:800/page_no_router.php qui affiche bien l'erreur PHP.
Je ne pense pas que ça vient du fichier " router.php ", mais plutôt de mes règles NGINX qui s'occupent de mes URLs. Cependant, je ne vois pas comment régler ce comportement afin que les erreurs s'affichent même sur mes pages redirigées par NGINX sans me couper l'accès à la page ( HTTP ERROR 500 ). Voici la configuration NGINX par rapport à PHP:
D'ailleurs les fichiers " .php " (s'ils existent) restent accessibles dans une url du type " www.domaine.com/test.php ", mais comment empêcher ce comportement ou/et comment rediriger vers une page 404 par exemple si le fichier .php n'existe pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 location / { try_files $uri /index.php?page=$uri; } location ~ /\. { deny all; } location ~* \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
Merci d'avance de vos réponses,
Cordialement,
Partager