在Nginx环境下配置自定义的404错误页面转向,避免给用户展示生硬、不友好的错误信息。可以给出如下提示:很抱歉,您访问的页面不存在或已被删除。
注意事项:
-
一、修改nginx.conf之前做好备份,避免出现问题。
-
二、定义页面时注意路径是否正确。
①首先创建一个404错误时显示的页面,如放在你的网站根目录下的404.html。(内容随便)
②在nginx.conf中的http区域加入fastcgi_intercept_errors on:
http {
...
fastcgi_intercept_errors on; #支持自定义4xx、5xx页面
...
}
③在nginx.conf的server区域(如果网站有单独的配置文件,则需要在其配置文件的server区域内加入)加入error_page 404:
情况一:全局的404页面都跳转
server
{
...
error_page 404 = 404.html; #全局跳转
或error_page 404 = http://www.xxx.com/xxx/404.html; #二者就是绝对路径和相对路径的区别。
}
情况二:server的某个路径的404页面跳转
location /news/ { #只会在访问此路径时才会跳转
alias /happyface/hf_channel/;
error_page 404 = 404.html; #此时404.html放在/happyface/hf_channel/ 下
}
注:此时返回的状态码是200,若想返回的状态码为404,则应将“=”去掉。
如果要自定义其他错误,同理:error_page 500 502 503 504 = /50x.html;
④保存后重启nginx。
/happyface/tengine/sbin/nginx -c conf/nginx.conf -s reload