商务合作加Q:411239339

NGINX 配置404错误页面转向

浏览:332次阅读
没有评论

共计 1256 个字符,预计需要花费 4 分钟才能阅读完成。

什么是 404 页面

如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为 404 的错误信息,此时对应页面就是 404 页面。404 页面的默认内容和具体的服务器有关。如果后台用的是 NGINX 服务器,那么 404 页面的内容则为:404 Not Found 

为什么要自定义 404 页面

在访问时遇到上面这样的 404 错误页面,我想 99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄悄的流失了。如果此时能有一个漂亮的页面能够引导用户去他想去的地方必然可以留住用户。因此,每一个网站都应该自定义自己的 404 页面。

NGINX 下如何自定义 404 页面

IIS 和 APACHE 下自定义 404 页面的经验介绍文章已经非常多了,NGINX 的目前还比较少,为了解决自家的问题特地对此作了深入的研究。研究结果表明,NGINX 下配置自定义的 404 页面是可行的,而且很简单,只需如下几步:

1. 创建自己的 404.html 页面  

2. 更改 nginx.conf 在 http 定义区域加入: fastcgi_intercept_errors on; 

3. 更改 nginx.conf(或单独网站配置文件,例如在 nginx -> sites-enabled 下的站点配置文件)

中在 server 区域加入: error_page 404  /404.html  或者  error_page 404 =http://www.xxx.com/404.html

4. 更改后重启 nginx,,测试 nginx.conf 正确性:/opt/nginx/sbin/nginx –t 

#502 等错误可以用同样的方法来配置。  

error_page  500 502 503 504  /50x.html; 

注意事项:

1. 必须要添加:fastcgi_intercept_errors on; 如果这个选项没有设置,即使创建了 404.html 和配置了 error_page 也没有效果。fastcgi_intercept_errors 语法: fastcgi_intercept_errors on|off 默认: fastcgi_intercept_errors off 添加位置: http, server, location 默认情况下,nginx 不支持自定义 404 错误页面,只有这个指令被设置为 on,nginx 才支持将 404 错误重定向。这里需要注意的是,并不是说设置了 fastcgi_intercept_errors on,nginx 就会将 404 错误重定向。在 nginx 中 404 错误重定向生效的前提是设置了 fastcgi_intercept_errors on, 并且正确的设置了 error_page 这个选项(包括语法和对应的 404 页面 ) 
2. 不要出于省事或者提高首页权重的目的将首页指定为 404 错误页面,也不要用其它方法跳转到首页。 

3. 自定义的 404 页面必须大于 512 字节,否则可能会出现 IE 默认的 404 页面。例如,假设自定义了 404.html, 大小只有 11 个字节(内容为:404 错误)。
正文完
扫码赞助
post-qrcode
 0
果子
版权声明:本站原创文章,由 果子 于2015-01-07发表,共计1256字。
转载说明:除特殊说明外本站文章皆由果较瘦原创发布,转载请注明出处。
评论(没有评论)