我有一个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>
但是,我在错误中注意到.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帮助程序,这可能解释了缺少控制器的错误。
我想你想添加其他代码,但你仍然想使用Cakephp。
根据这个你的例子,如果你想添加 http://www.mydomain.com/blog 你必须转到CakePHP的以下路径"app/webroot"并添加文件夹"blog"。例如,如果你想在你的CakePHP应用程序中使用wordpress。
验证您在 app/webroot/.htaccess 上是否具有默认的 .htacces
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
并删除您在 .htaccess 上所做的更改。
我 如果您还有其他疑问,请告诉我