我在公司网站上使用 Yii 框架。
我在 domain.com/... 有一个前端,在 domain.com/app/.. 有一个基于 Yii 的应用程序。我们最近向前端站点添加了一个 404 页面,前端带有 htaccess 的 ErrorDocument 处理程序。问题是,Yii 应用程序继承自那个 404,它给出了一个错误的页面。如何强制它使用 Yii 的嵌入式错误处理页面?
提前致谢。
我在公司网站上使用 Yii 框架。
我在 domain.com/... 有一个前端,在 domain.com/app/.. 有一个基于 Yii 的应用程序。我们最近向前端站点添加了一个 404 页面,前端带有 htaccess 的 ErrorDocument 处理程序。问题是,Yii 应用程序继承自那个 404,它给出了一个错误的页面。如何强制它使用 Yii 的嵌入式错误处理页面?
提前致谢。
有 2 篇很好的文章谈论这个:
这个想法是,您在主控制器中创建一个操作来处理所有页面错误,因此,您可以更改您的 htaccess 以将您的应用程序重定向到控制器:
domain.com/site/error
最终使用 RewriteCond 重定向而不是 ErrorDocument,从而为要重定向的文件生成“规则”。基本上是这样的:
RewriteCond %{REQUEST_URI} !^/app
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /404.php
基本上这意味着“如果请求的文件不是有效文件,请使用此重写规则”。第一个条件是确保它排除“app”文件夹,以便它处理自己的错误。