Heim  >  Fragen und Antworten  >  Hauptteil

server - nginx error_page 404 wird nicht wirksam

Beim Deaktivieren des direkten Zugriffs auf Nginx von ungebundenen Domänennamen und IPs habe ich den folgenden Server erstellt

server {
    listen 80 default;
    server_name _;

    fastcgi_intercept_errors on;
    error_page 404 /data/www/error_page/404.html;
    return 404;
}   
Der Inhalt der Fehlerseite lautet wie folgt:

404 Not Found!

nginx -t-Test bestanden nginx -s reload wurde erfolgreich neu geladen Warum wird die mit Nginx gelieferte 404-Seite immer noch zurückgegeben? Ich habe im Handbuch nachgesehen und herausgefunden, dass die 404-Seite so eingerichtet wird~

PHP中文网PHP中文网2712 Tage vor589

Antworte allen(2)Ich werde antworten

  • 为情所困

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

    error_page的第二个参数是URI, 即相对于站点根目录的路径,并非物理路径

    按你的需求,建议改为:

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

    Antwort
    0
  • 淡淡烟草味

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

    多谢精英王子,我又重新阅读了一下nginx wiki里关于error_page的说明。里面确是指出404的context是uri,我重新给default配置了root,然后指明了其404的相对路径。但出现问题是访问某未绑定域名(比如cc.com),返回的是nginx自带的404页面,访问cc.com/aaa.html返回的是自定义的404页面。额外指定index到404.html才完全生效。 另外,用location 将/定义为internal限制也可以返回404.

    Antwort
    0
  • StornierenAntwort