如何为nginx中的不同目录设置不同的404错误页面?

时间:2017-02-18 10:56:49

标签: nginx http-status-code-404

嗨我有一个在域名上运行的网站,请说www.example.com。我在同一个网站上也有一个Web应用程序,但在目录中可以说www.example.com/app/。现在该应用程序也有不同的目录,如www.example.com/app/a。我想知道如何为目录设置不同的错误404页面。对于第一种情况,我知道我可以用它来做: -

 error_page 404 /error404.html;
 location = /error404.html {
      root /usr/share/nginx/html;
      internal;
 }

我想知道如何为其他目录设置不同的页面。如果有人能提供帮助,我将非常感激。

1 个答案:

答案 0 :(得分:0)

请按照以下步骤操作:

1.创建名为404err1.html

的2个自定义err2.html个网页

2.将您的配置更改为以下内容:

server {
    listen       80;
    server_name  localhost;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location /app {
        error_page 404 /err1.html;
    }
    location /loc {
        error_page 404 /err2.html;
    }
    location = /err1.html {
        root /usr/share/nginx/html;
    }
}

当您浏览到/app时,您将获得err1.html,而/loc将会为您提供err2.html