我在公司网站上使用Yii框架。
我在domain.com / ...有一个前端,并在domain.com/app/上有一个基于Yii的应用程序。 我们最近在前端站点添加了一个404页面,前端有htaccess的ErrorDocument处理程序。问题是,Yii应用程序继承自404,这给出了一个糟糕的页面。如何强制它使用Yii的嵌入式错误处理页面?
提前致谢。
答案 0 :(得分:0)
有两篇好文章谈论这个:
How to use default layout for error pages instead of errorXXX views
Handling errors using an action
我们的想法是,您在主控制器中创建一个操作来处理所有页面错误,因此,您可以更改您的htaccess以将您的应用程序重定向到Controller:
domain.com/site/error
答案 1 :(得分:0)
使用RewriteCond重定向而不是ErrorDocument结束,从而导致文件被重定向的“规则”。基本上是这样的:
RewriteCond %{REQUEST_URI} !^/app
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /404.php
基本上这意味着,“如果请求的文件不是有效文件,请使用此重写文件”。第一个条件是确保它排除“app”文件夹,因此它会处理自己的错误。