今天突然发现一个问题,网站设置了自定义的 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
window nginx虚拟主机(多站点)配置教程
window nginx虚拟主机(多站点)配置教程 nginx 目录结构 复制代码 代码如下: nginx-0.8.54 │ nginx.exe //主程序 │(0)人阅读时间:2024-06-01nginx中设置目录浏览及中文乱码问题解决方法
nginx中设置目录浏览及中文乱码问题解决方法 在Nginx下默认是不允许列出整个目录的。如需此功能, 先打开nginx.conf文件,在location se(0)人阅读时间:2024-06-01APMServ 5.2.6 Nginx无法启动BUG修正方法
APMServ 5.2.6 Nginx无法启动BUG修正方法 APMServ 5.2.6 无法启动Nginx的BUG修正方法: 在nginx/conf/ngin(0)人阅读时间:2024-06-01nginx中一台服务器单iP多域名配置(nginx一个ip多个域名)
nginx中一台服务器单iP多域名配置 nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建(0)人阅读时间:2024-06-01window nginx虚拟主机(多站点)配置教程
window nginx虚拟主机(多站点)配置教程 nginx 目录结构 复制代码 代码如下: nginx-0.8.54 │ nginx.exe //主程序 │..2024-06-01nginx自定义404错误页面设置方法
nginx自定义404错误页面设置方法 今天突然发现一个问题,网站设置了自定义的 404 页面, 显示的是没有问题, 只是返回的状态码是 200, 而不是404..2024-06-01nginx中设置目录浏览及中文乱码问题解决方法
nginx中设置目录浏览及中文乱码问题解决方法 在Nginx下默认是不允许列出整个目录的。如需此功能, 先打开nginx.conf文件,在location se..2024-06-01APMServ 5.2.6 Nginx无法启动BUG修正方法
APMServ 5.2.6 Nginx无法启动BUG修正方法 APMServ 5.2.6 无法启动Nginx的BUG修正方法: 在nginx/conf/ngin..2024-06-01