首页 > 窍门 > 科技数码

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

来源: 更新时间:2024-06-01 00:10:03
The Beginning

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

去看我的 nginx 配置:JCk育儿早教网

nginx.confJCk育儿早教网

代码如下JCk育儿早教网

server {JCk育儿早教网

...JCk育儿早教网

error_page 404 = /404.php;JCk育儿早教网

...JCk育儿早教网

}JCk育儿早教网

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

nginx.confJCk育儿早教网

代码如下JCk育儿早教网

server {JCk育儿早教网

...JCk育儿早教网

error_page 404 /404.php;JCk育儿早教网

...JCk育儿早教网

}JCk育儿早教网

补充一下其它状态代码定义方法JCk育儿早教网

更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on;JCk育儿早教网

为指定位置设定一个404页面JCk育儿早教网

代码如下JCk育儿早教网

location /my_blog {JCk育儿早教网

error_page 404 = /article_not_found.html;JCk育儿早教网

}JCk育儿早教网

你可以用单个错误页面一起来处理多个错误代码JCk育儿早教网

代码如下JCk育儿早教网

location /my_blog {JCk育儿早教网

error_page 500 502 503 504 = /server_error.htmlJCk育儿早教网

}JCk育儿早教网

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

代码如下JCk育儿早教网

upstream server2 {JCk育儿早教网

server 10.0.0.1:80;JCk育儿早教网

}JCk育儿早教网

server {JCk育儿早教网

location /my_blog {JCk育儿早教网

error_page 404 = @try_server2;JCk育儿早教网

}JCk育儿早教网

location @try_server2 {JCk育儿早教网

proxy_pass http://server2;JCk育儿早教网

}JCk育儿早教网

这个功能可以用在Nginx前端+Apache后端的服务器架构中。JCk育儿早教网

测试配置JCk育儿早教网

/usr/local/nginx/sbin/nginx -tJCk育儿早教网

没错误就重启nginxJCk育儿早教网

/etc/init.d/nginx restartJCk育儿早教网

THE END

TAG:代码  定义  页面  

猜你喜欢

相关文章