Maison  >  Questions et réponses  >  le corps du texte

serveur - nginx error_page 404 ne prend pas effet

Lors de la désactivation de l'accès direct à nginx à partir des noms de domaine et des adresses IP non liés, j'ai créé le serveur suivant

server {
    listen 80 default;
    server_name _;

    fastcgi_intercept_errors on;
    error_page 404 /data/www/error_page/404.html;
    return 404;
}   
Le contenu de

error_page est le suivant :

404 Not Found!

nginx -t test réussi nginx -s reload rechargé avec succès Pourquoi la page 404 fournie avec nginx est-elle toujours renvoyée ? J'ai vérifié le manuel et découvert que voici comment configurer la page 404~

PHP中文网PHP中文网2712 Il y a quelques jours590

répondre à tous(2)je répondrai

  • 为情所困

    为情所困2017-05-16 17:31:04

    Le deuxième paramètre de error_page est l'URI, qui est le chemin relatif au répertoire racine du site, pas le chemin physique

    Selon vos besoins, il est recommandé de changer pour :

    root  /data/www;
    error_page 404 /error_page/404.html;
    

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:31:04

    Merci Elite Prince, j'ai relu la description de error_page dans le wiki nginx. Cela indique que le contexte de 404 est uri. J'ai reconfiguré root par défaut, puis j'ai spécifié le chemin relatif de 404. Mais le problème survient lorsque l'accès à un nom de domaine indépendant (tel que cc.com) renvoie la page 404 fournie avec nginx, et que l'accès à cc.com/aaa.html renvoie une page 404 personnalisée. Cela prendra pleinement effet si vous spécifiez en plus l'index sur 404.html. De plus, utiliser location pour définir / comme restriction interne peut également renvoyer 404.

    répondre
    0
  • Annulerrépondre