Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在cakephp上使用.htaccess时URL重写规则不起作用_.htaccess_Url Rewriting_Cakephp 1.3_Cakephp 2.0_Cakephp 2.1 - Fatal编程技术网

在cakephp上使用.htaccess时URL重写规则不起作用

在cakephp上使用.htaccess时URL重写规则不起作用,.htaccess,url-rewriting,cakephp-1.3,cakephp-2.0,cakephp-2.1,.htaccess,Url Rewriting,Cakephp 1.3,Cakephp 2.0,Cakephp 2.1,我使用的是CakePHP1.2,最近我更新了cake版本并迁移到了2.4 在我们为应用程序使用许多.htaccess规则之前。我们将它们写入/webroot/.htaccess文件。但在迁移到2.4之后,任何规则都不起作用 例如 RewriteCond%{REQUEST_FILENAME}-d 重写cond%{REQUEST_URI}/news/$ 重写规则^(.*)$pages/news/[QSA,L] 但是这个规则不适用于蛋糕2.4。有人能帮我解决这个问题吗?您最好的选择可能是不使用mod\

我使用的是CakePHP1.2,最近我更新了cake版本并迁移到了2.4

在我们为应用程序使用许多.htaccess规则之前。我们将它们写入/webroot/.htaccess文件。但在迁移到2.4之后,任何规则都不起作用

例如

RewriteCond%{REQUEST_FILENAME}-d

重写cond%{REQUEST_URI}/news/$

重写规则^(.*)$pages/news/[QSA,L]


但是这个规则不适用于蛋糕2.4。有人能帮我解决这个问题吗?

您最好的选择可能是不使用
mod\u rewrite
规则,而是使用类

如果编辑文件
app/config/routes.php
,并添加如下路由(假设要调用
PagesController::display('news')
):


您应该会得到相同的结果。

但是在cakephp 2.4上使用.htaccess重写URL难道不可能吗?我没有尝试过这种方法。我一直坚持使用路由器类。有什么帮助吗?我们有一些关键问题,例如静态缓存和一些困难的url重写,我们使用了.htaccess。如果我们能得到关于如何使用.htaccess的任何帮助会更好,因为它在cake2.4上运行,而Cake1.3上运行。好吧,我不认为我能在这方面提供帮助。很抱歉
Router::connect('/news/*', array(
    'controller' => 'pages',
    'action' => 'display', 
    'news'
));