Je commence a découvrir Yunohost, j’essai de passer un petit site php sous apache sur nginx.
J’ai installé my_webapp et cela tourne plutôt bien
Maintenant j’aimerai changer la page par défaut pour le 404 - not found.
J’ai essayé de modifier les fichiers de conf de nginx, celui du domaine et celui de my_webapp, mais cela ne fonctionne pas.
Je précise que je relance nginx a chaque modification.
J’utilise ce code : error_page 404 /404.php;
Pouvez vous me dire quel fichier je dois modifier ?
je pense que tu dois modifier le fichier 404.php dans le dossier correspondant … i.e. si tu as quelque chose comme :
location /foo {
alias /var/www/foo/;
error_page 404 /404.php;
}
alors tu dois modifier /var/www/foo/404.php
(Attention par contre, si la location /foo est protégée par SSOwat, je pense que tu retombes forcément sur la page de login du SSO, à moins de mettre ton_domaine/foo dans les unprotected_urls de SSOwat)
Je vois que je n’ai pas été clair, pardon, je cherche comment faire pour que la page par défaut pour le 404 pointe vers 404.php qui est à la racine.
Pour le moment c’est une autre page qui est appelée (ou genéré ?) avec juste “page not found” dedans.
du coup je ne suis pas sur de savoir ce que tu veux dire par “404.php qui est la racine” : la racine du filesystem unix ? ou bien du site web ?
Si tu cherches à avoir une page d’erreur unique pour l’ensemble de ton nom de domaine, tu peux aussi essayer de mettre dans ton /etc/nginx/conf.d/nomdedomaine.conf, a l’interieur des blocs server { }, quelque chose comme :
et créer/éditer le fichier /var/www/errors/404.html (et créer le dossier errors avec les bonnes permissions).
Ensuite si tu enlèves les lignes “error_page 404 …” dans les fichiers /etc/nginx/conf.d/nomdedomaine.d/*.conf, ils devraient utiliser la nouvelle règle par défaut pour l’erreur 404, i.e. celle qui redirige vers /var/www/errors/404.html
Oui ce que je voudrai faire c’est avoir une page d’erreur spécifique pour un domaine, un fichier 404.php à la racine du site.
Je vais tester ta méthode ce soir, merci pour le retour.
Petite précision pour les débutants comme moi, il faut bien modifier le fichier etc/nginx/conf.d/nomdedomaine.conf, mais pas dans le premier bloc server {…}, cela ne fonctionne pas.
Dans mon cas le fichier d’erreur 404.php étant à la racine du domaine le code suivant fonctionne : error_page 404 /404.php;