Apache或Nginx 环境下404等错误页面优雅展示设置(LAMP,LNMP)

魔王先生 建站知识 2年前 3767℃ 0
摘要:

当我们访问网站时,由于特殊的原因,经常会出现诸如404,403,503等错误,这极大的影响用户的访问体验,所以我们很有必要做一下错误页面的优雅显示,以提升用户的浏览体验。因为我们默认安装了LAMP或L...

当我们访问网站时,由于特殊的原因,经常会出现诸如404,403,503等错误,这极大的影响用户的访问体验,所以我们很有必要做一下错误页面的优雅显示,以提升用户的浏览体验。因为我们默认安装了LAMP或LNMP环境后404等错误页面不会自动设置,也不会默认跳转到程序的404错误页面,所以这就需要我们手工设置。具体如何设置呢?我们一起往下看。

Apache环境:(以404页面设置举例)

Apache环境404页面的设置非常简单,编辑/etc/httpd/conf/httpd.conf 文件或者新建.htaccess文件,添加下面的代码:

ErrorDocument 404 /404.html

保存httpd.conf或者htaccess配置文件,并重启apache即可。

Nginx环境:(以404页面设置举例)

第一步,编辑/usr/local/nginx/conf/nginx.conf 文件,在http区域添加下面的代码;

fastcgi_intercept_errors on;

第二步,编辑你需要添加404页面的网站的conf文件,对应在usr/local/nginx/conf/vhost/XXXX.com.conf,在server区域添加代码;

error_page 404 /404.html;

第三步,重启 LNMP;

lnmp restart

测试:

我们可以通过

/usr/local/nginx/sbin/nginx -t

来测试返回状态是否正确。

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok 
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

如果是上述返回状态,404错误的页面优雅显示已经配置OK了。

注意:

在nginx中错误重定向生效的两个前提条件是:设置了fastcgi_intercept_errors on,并且正确的设置了error_page这个选项。

举一反三:502、403 等其他错误可以用同样的方法来配置。

error_page  500 502 503 504  /50x.html;
error_page  403  /403.html;

其他说明:

你也可以在网站访问页面出现404、403错误信息时,自动跳转至首页或另一个网站,方法如下:

ErrorDocument 403 /index.php
ErrorDocument 404 http://mr.mw

上述配置信息,设置在发生HTTP 403错误时,自动跳转至网站首页,发生HTTP 404错误时自动跳转至魔王先生博客。

当然出于用户体验性方面的考虑,我不推荐做自动跳转至首页或者其他网站的设置。

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。