nginx/0.8.6 配置404错误页面

nginx/0.8.6 配置404错误页面

nginx/0.8.6

 

为什么要自定义404页面

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

NGINX下如何自定义404页面

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

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

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

fastcgi_intercept_errors on;

3.更改nginx.conf在server 区域加入:

error_page 404 = /404.html

4.测试nginx.conf正确性:

/opt/nginx/sbin/nginx –t

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

the configuration file /opt/nginx/conf/nginx.conf syntax is ok
configuration file /opt/nginx/conf/nginx.conf test is successful

5.重启nginx

kill -HUP  `cat /opt/nginx/nginx.pid `
 

配置文件实例:

……

http
{
include       mime.types;
default_type  application/octet-stream;

charset  gb2312;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush     on;

keepalive_timeout 60;

tcp_nodelay 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;

gzip on;
gzip_min_length  1k;
gzip_buffers     4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types       text/plain application/x-网页特效 text/css教程 application/xml;
gzip_vary on;

#limit_zone  crawler  $binary_remote_addr  10m;

  #65的配置信息
      server
{
   listen       80;
   server_name  www.65.la 65.la *.65.la;
   index index.html index.htm index.php教程;
   root  /opt/www/65;
   location ~ .*.(php|php5)?$
   {     
     #fastcgi_pass  unix:/tmp/php-cgi.sock;
     fastcgi_pass  127.0.0.1:9000;
     fastcgi_index index.php;
     include fcgi.conf;
   }
   error_page  404 = /404.html;

#502 等错误可以用同样的方法来配置。
   error_page   500 502 503 504 = /50x.html;
   ocation = /50x.html {
            root   html;
        }
   log_format  65  ‘$remote_addr – $remote_user [$time_local] "$request" ‘
              ‘$status $body_bytes_sent "$http_referer" ‘
              ‘"$http_user_agent" $http_x_forwarded_for’;
   access_log  /opt/nginx/logs/65.log  65;
}

……

 

 

注意事项:

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错误)。用如下两个不存在的地址去访问:

 

时间: 2024-08-22 15:17:54

nginx/0.8.6 配置404错误页面的相关文章

Nginx服务器中配置404错误页面时一些值得注意的地方_nginx

换了VPS之后的某一天,在Google管理员工具控制台下看到了大量的"软404"错误,查找了一些资料之后发现是自己在Nginx下配置404页面的方法不对才导致了错误的产生,在此记录一下Nginx下正确的404页面配置方法. 404是一个相应代码,表示"页面无法找到"(Page Not Found),Google关于"软404"给出的说法是: 复制代码 代码如下: Instead of returning a 404 response code f

asp.net 如何在web.config配置404错误页面。

问题描述 求大神~求大神~求大神~求大神~急 解决方案 解决方案二:<system.web><compilationdebug="true"targetFramework="4.0"/><httpRuntimeexecutionTimeout="800"maxRequestLength="1024000000"useFullyQualifiedRedirectUrl="false&quo

SEO基础篇: 案例分析404错误页面

每当我们打开一网站时如果长时间没有反应时,或者URL错误时会看到下面这种情景:   这个错误页面就是404页面,今天上海SEO潇然孤雁飞就和大家聊一聊404这个家喻户晓的SEO基本知识. 404页面就是当用户输入了错误的链接时,返回的页面.是WWW网站访问比较经常出现的错误.最常见的出错提示:404 NOT FOUND. HTTP 404错误意味着链接指向的网页不存在,即原始网页的URL失效,这种情况经常会发生,很难避免,比如说:网页URL生成规则改变.网页文件更名或移动位置.导入链接拼写错误等

LNMP系列教程之五:设置404错误页面

在之前的文章中分享到"设置301重定向方法 "文章,提到301,那肯定也要说说404错误页面吧.因为我们默认安装了LNMP后404页面不会自动设置,也不会默认到程序的404错误页面,而需要我们手工设置.具体如何设置呢?我们一起往下看. 第一步,编辑 /usr/local/nginx/conf/nginx.conf 文件,在http区域添加下面的代码; fastcgi_intercept_errors on; 第二步,编辑你需要添加404页面的网站的conf文件,对应在 usr/loca

定制404错误页面,并发信给管理员的程序

如果您的用户找不到他要的页面,如何给他一个友好的答复,并且你也知道发生了这个错误呢,看看下面这段程序,是用来定制404错误页面和发通知给网管的好东西.---teaman翻译整理 <?php # 设置 $domain 为你的域名 (注意没有www) $domain = "oso.com.cn"; # 设置URL,注意没有后划线 / $docroot = "http://www.oso.com.cn"; # 设置错误信息的字体 $fontface = "

用php制作友好的404错误页面

如果访问您站点的用户由于各种原因暂时出现无法访问页面的错误,如何给他一个友好的答复,并且你也知道发生了这个错误,看看下面这段程序,是用来定制404错误页面和发通知给网管. # 设置 $domain 为你的域名 (注意没有www) $domain = "oncoding.net"; # 设置URL,注意没有后划线 / $docroot = "http://oncoding.net"; # 设置错误信息的字体 $fontface = "Verdana"

LNMP系列教程:设置404错误页面

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在之前的文章中分享到"设置301重定向的方法"文章,提到301,那肯定也要说说404错误页面吧.因为我们默认安装了LNMP后404页面不会自动设置,也不会默认到程序的404错误页面,而需要我们手工设置.具体如何设置呢?我们一起往下看. 第一步,编辑 /usr/local/nginx/conf/nginx.conf 文件,在

定制404错误页面,并发信给管理员的程序_php基础

如果您的用户找不到他要的页面,如何给他一个友好的答复,并且你也知道发生了这个错误呢,看看下面这段程序,是用来定制404错误页面和发通知给网管的好东西.---teaman翻译整理 <?php # 设置 $domain 为你的域名 (注意没有www) $domain = "oso.com.cn"; # 设置URL,注意没有后划线 / $docroot = "http://www.oso.com.cn"; # 设置错误信息的字体 $fontface = "

精致404 错误页面

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-