Yii 404页面 - 覆盖父htaccess

时间:2013-05-12 15:32:18

标签: .htaccess yii http-status-code-404 errordocument

我在公司网站上使用Yii框架。

我在domain.com / ...有一个前端,并在domain.com/app/上有一个基于Yii的应用程序。 我们最近在前端站点添加了一个404页面,前端有htaccess的ErrorDocument处理程序。问题是,Yii应用程序继承自404,这给出了一个糟糕的页面。如何强制它使用Yii的嵌入式错误处理页面?

提前致谢。

2 个答案:

答案 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”文件夹,因此它会处理自己的错误。