加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx – 提供由PHP生成的自定义404页面

发布时间:2021-02-21 04:14:28 所属栏目:Nginx 来源:互联网
导读:以下是我的php-fpm配置:location @site { fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/index.php; fastcg

以下是我的php-fpm配置:

location @site {
    fastcgi_pass   unix:/var/run/php5-fpm.sock;
    include fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME $document_root/index.php;

    fastcgi_intercept_errors on;
    error_page 404 /404;
}

因为启用了fastcgi_intercept_errors,当我的PHP路由器返回404时,Nginx将重定向到/ 404.好.

但是因为/ 404是由我的PHP应用程序生成的,并且我的PHP应用程序正确设置了404响应代码,所以Nginx将尝试再次处理错误! (显然以循环结束)

这个问题有方法解决吗?

最佳答案 nginx这样做是因为你告诉了它.

    fastcgi_intercept_errors on;

这意味着nginx will not serve error responses generated by PHP,但是让nginx处理它们.因此,你进入无限循环.

要解决此问题,请删除此指令(默认为关闭)或将其明确设置为off.

(编辑:商洛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读