Yii 内部重定向

Yii internal redirect

我正在为网站使用 yii 框架。

我的 apache 将所有请求重写到 yii 应用程序。在我的默认控制器中,我检查每个请求,如果数据库中有可用的内容,将显示一个网页。

当没有可用内容时,我会显示自定义 404 错误页面。

throw new CHttpException(404);

这工作正常,但用户被重定向到 404 错误页面。

相反,应该在 yii 应用程序内部重写请求。 这可能吗?或者我可以在内部为 404 请求创建一个新的应用程序。

我的目标是只显示一个客户端请求的 404 页面。

请求 domain/bla --> 不可用 --> 错误代码 404 的响应和来自 domain/404 的内容。html

提前感谢您的回答

在配置中定义错误处理程序
main/config.php in components section

'components' => [
    // other components
    'errorHandler'  =>      [
        'errorAction'       =>      'error/error',
    ],
]

添加一个错误控制器,其中包含 actionError 方法。在那里写下你的逻辑。