我安装了 CakePHP 2,但某些 URL 不受默认路由的约束。我通过将异常添加到 .htaccess 文件来做到这一点。因此,例如调用http://www.mydomain.com/blog或http://www.mydomain.com/proofgallery都重定向到 cakephp 之外的文件夹。
.htaccess 代码如下所示:
# Overrides to the cake routing
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/? (blog|proofgallery)/(.*)$
RewriteRule ^.*$ - [L]
</IfModule>
但是,我在 error.log 中注意到某些情况会导致这些豁免的缺少控制器错误。
例如
2012-10-16 14:49:15 Error: [MissingControllerException] Controller class ProofgalleryController could not be found.
#0 /home/mydomain/public_html/app/webroot/index.php(96): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 {main}
2012-10-16 11:13:24 Error: [MissingControllerException] Controller class BlogController could not be found.
#0 /home/mydomain/public_html/app/webroot/index.php(96): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 {主要}
这是为什么?以及如何避免?据我所知,应用程序中的所有链接都使用完整的 URL (http://www.mbvphotography.com/blog) 而不是 Cake HTML 帮助程序,这可能解释了缺少控制器错误。