nginx自定义404错误页面设置方法

王朝学院·作者佚名  2016-08-08
窄屏简体版  字體: 小  |  中  |  大  |  超大  

今天突然发现一个问题,网站设置了自定义的 404 页面, 显示的是没有问题, 只是返回的状态码是 200, 而不是404!!

去看我的 nginx 配置:

nginx.conf

代码如下

server {

...

error_page 404 = /404.php;

...

}

乍一看是没啥,网上搜了一下才知道多了个等号!!! 改为这样:

nginx.conf

代码如下

server {

...

error_page 404 /404.php;

...

}

补充一下其它状态代码定义方法

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

为指定位置设定一个404页面

代码如下

location /my_blog {

error_page 404 = /article_not_found.html;

}

你可以用单个错误页面一起来处理多个错误代码

代码如下

location /my_blog {

error_page 500 502 503 504 = /server_error.html

}

重定向到一个完全不同的服务器,假设你在http区域定义有一个上游服务器server2:

代码如下

upstream server2 {

server 10.0.0.1:80;

}

server {

location /my_blog {

error_page 404 = @try_server2;

}

location @try_server2 {

PRoxy_pass http://server2;

}

这个功能可以用在Nginx前端+Apache后端的服务器架构中。

测试配置

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

没错误就重启nginx

/etc/init.d/nginx restart

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航