自定义nginx 404错误页面是提高用户体验的一个细节,如果是正规站,我们就必须做好它。你可以对每个网站的错误页面分别设置,也可以设置一个全局的404页面。

为指定位置设定一个404页面

location /my_blog {
error_page 404 = /article_not_found.html;
}
整个网站的404页面

server {
listen 80;
error_page 404 /page_not_found.html;
...
你可以用单个错误页面一起来处理多个错误代码

location /my_blog {
error_page 500 502 503 504 = /server_error.html
}
重定向到一个完全不同的服务器,假设你在http区域定义有一个上游服务器server2:

upstream server2 {
server 10.0.0.1:80;
}
server {
location /my_blog {
error_page 404 = @try_server2;
}
location @try_server2 {
proxy_pass http://server2;
}
这个功能可以用在Nginx前端+Apache后端的服务器架构中。