nginx中有多个404错误页面

我正在运行nginx服务器。 我只想为特定的请求提供自定义错误页面。 例如请求

http://localhost/abc1 & http://localhost/abc2 

如果这些页面不在那里,我想提供一个自定义的错误页面。 这个自定义的错误页面应该只出现在上面提到的两个链接上,其余的页面错误可以显示默认的错误页面。 我已经尝试了不同的configuration,但似乎没有任何工作。 思考

问候,Farrukh Arshad。

你的回答是非常正确的,但正如你所说,你只是为html定义它们,删除扩展名,它应该适用于整个目录,不需要重复根目录,只需在服务器块范围内定义它

 server { listen 80; root /var/www/nginx-default; location /abc1 { error_page 404 /special_error.html; } location /abc2 { error_page 404 /special_error2.html; } } 

好的,我找到了答案。 诀窍是你必须明确定义所有这些特殊位置的error_page。 这是为我工作的配置。

 location / { root /var/www/nginx-default; index index.html index.htm; error_page 404 /404.html; } location /abc1.html { root /var/www/nginx-default; error_page 404 /special_error.html; } location /abc2.html { root /var/www/nginx-default; error_page 404 /special_error2.html; } 

我对nginx不太好,但是我注意到它取决于你在“location”标签中给出的搜索模式。 我尝试过不同的事情,那些失败了。 例如上述规则将只适用于

 http://localhost/abc1.html 

并失败

 http://localhost/abc1 

所以如果你想要覆盖第二种情况,你的“位置”搜索模式应该是好的。 也许一些nginx guru可以在这方面更多的了解一些。 谢谢。