.htaccess文件中的CakePHP路由异常仍然导致缺少控制器错误

.htaccess文件中的CakePHP路由异常仍然导致缺少控制器错误,.htaccess,routing,controller,cakephp-2.0,.htaccess,Routing,Controller,Cakephp 2.0,我有一个CakePHP 2安装,但是有一些URL不受默认路由的限制。为此,我将异常添加到.htaccess文件中。例如,调用或两者都重定向到cakephp之外的文件夹 .htaccess代码如下所示: # Overrides to the cake routing <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} ^/? (blog|proofgallery)/(.*)$ Rew

我有一个CakePHP 2安装,但是有一些URL不受默认路由的限制。为此,我将异常添加到.htaccess文件中。例如,调用或两者都重定向到cakephp之外的文件夹

.htaccess代码如下所示:

# Overrides to the cake routing    
<IfModule mod_rewrite.c>
  RewriteEngine On
RewriteCond %{REQUEST_URI} ^/?  (blog|proofgallery)/(.*)$
  RewriteRule ^.*$ - [L]
</IfModule>
#1{main}


为什么呢?如何避免呢?据我所知,应用程序中的所有链接都使用完整的URL(http://www.mbvphotography.com/blog)而不是Cake HTML帮助程序,这可能解释了丢失的控制器错误

我认为您希望添加其他代码,但仍然希望使用Cakephp

根据您的示例,如果要添加,必须转到CakePHP的以下路径“app/webroot”,并添加文件夹“blog”。例如,如果您想在CakePHP应用程序中使用wordpress

验证您在app/webroot/.htaccess上是否具有默认的.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$index.php[QSA,L]
并删除您在.htaccess上所做的更改


如果您有更多疑问,请告诉我

好的,因此wordpress安装必须进入app/webroot/blog,而不是与/app文件夹和默认文件夹“平行”。htaccess in/app/webroot确保不重写这些路由?有道理。让我试试。。。谢谢对例如,我的一个项目在app/webroot中集成了wordpress和OpenX,以便与CakePHP一起使用这些应用程序。我刚刚调用了myproyect.com/wordpress和myrproyect.com/openx,使用CakePHP没有问题,也没有任何特殊的路由。如果我帮你记住投票并将其标记为已解决!!:)如果您有更多疑问,请告诉我
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>