nginx 设置错误的自己定义404页面跳转到500

5年前写的站, 当时是在apache下写的error page, 换了nginx后, 404页面直接跳到了500 server内部错误.


仅仅须要在配置

try_files 的时候指定一下就能够了

我的是debian, 在/etc/nginx/site-available/default 里面location /


server{
<span style="white-space:pre">	</span>location / {
       <span style="white-space:pre">		</span>try_files $uri $uri/ /error/404.php?c=404 =404;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>error_page 403 /error/403.php;
<span style="white-space:pre">	</span>error_page 404 /error/404.php;
<span style="white-space:pre">	</span>error_page 500 501 502 503 504 /error/500.php;
}



然后reload下nginx就可以

參考http://wiki.nginx.org/HttpCoreModule#try_files

说明下, 我把页面放在了 站点文件夹下的error文件夹下. 比方站点放在/var/www/  错误页面就在/var/www/error/403.php ...

測试的话非常easy, 403是没权限比方你的站点文件夹css文件夹, 图片文件夹什么的, 404是不存在, 随便输个地址就能够, 500上是server的, 这里我停掉php-fpm来測试. 效果例如以下







原文地址:https://www.cnblogs.com/brucemengbm/p/6724800.html