菜单开关

周梦康 发表于 2019-02-26 62 次浏览 标签 : 未完成

免费领取阿里云优惠券 我的直播 - 《PHP 进阶之路》

今天遇到一个问题,发现两个404页面最终跳转的地址不一样。

现象

日常环境

https://a.test/ziliao 跳转到 https://a.test/not/found
https://a.test/ziliao/1 不跳转,直接渲染出 404 页面

预发环境

https://a.test/ziliao 跳转到 https://a.test/not/found
https://a.test/ziliao/1 跳转到 b.test

故障定位

发现问题,原来日常环境tengine.conf里面没有配置error_page 404,而预发上配置的是

error_page 404 https://b.test

那么当前域下的/not/found/是怎么出来的呢?省略掉其他不相关的代码,最后如下

class Bootstrap extends \Yaf\Bootstrap_Abstract
{
    function _initRoute()
    {
        $router = new \Yaf\Extras\RESTfulRouter(true); 
        $router->on('*', '.*', 'error', 'notFound');
    }
}

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表