lnmp环境下404页面的设置


404,我的网站云阳论坛 原来没有开通自定义页面,今天抽空开启了下。

不废话了,直接深入主题。

下面是步骤:

1.创建自己的404.html页面(百度,谷歌上面很多好的404页面,都可以整一个)

2.更改nginx.conf(/usr/local/nginx/conf目录下)在http定义区域加入:

fastcgi_intercept_errors on;

来段例子:

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
fastcgi_intercept_errors on;

 

3.更改nginx虚拟主机配置文件xxx.conf(vhost目录下面各个目录的配置文件)在server 区域加入:

error_page 404  /404.html

记得军哥的lnmp下面默认的是:

error_page 404 off;

直接将Off给修改修改就是了。

下面是参考例子:

location ~ .*\.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}

location ~ .*\.(js|css)?$
{
expires 12h;
}

error_page 404 /404.html;

红色部分替换掉 off

这个地方注意一下:

网上很多教程给的是:

error_page 404 /404.html;经过本人测试,加了=号后,返回的将都是200状态。有图为证。

406页面返回200状态
406页面返回200状态

 

当我去掉等号后就正常了。

去掉等号后,返回404了
去掉等号后,返回404了

 

404.html 200状态
404.html 200状态

 

4.测试nginx.conf正确性:

/opt/nginx/sbin/nginx –t

如果正确应该显示如下信息:

返回信息:

返回信息
返回信息

 

现在/root/lnmp restart 一下。。

 

就行了。
5、404页面的注意事项:

一、不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中被降权或消失

二、不要使用绝对URL,如果使用绝对URL返回的状态码是302+200,这样会产生大量的重复网页。

三、404页面设置完成,一定要检查是否正确。http头信息返回的一定要是404状态。这个可以通过服务器头部信息检查工具进行检查。

四、404页面不要自动跳转,让用户来自己决定去向,不过我看见很多人也直接做的跳转。

五、自定义的404页面必须大于512字节,否则可能会出现IE默认的404页面。

反正,返回状态最重要。

,

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注