.htaccess CakePHP redirect.php到控制器

.htaccess CakePHP redirect.php到控制器,.htaccess,cakephp,mod-rewrite,.htaccess,Cakephp,Mod Rewrite,我以前的网站URL结构是这样的: http://www.example.com/index.php?go=archives&data=lastweek 今天,我迁移到CakePHP,所以URL不起作用。所以我想把它重定向到这个URL: http://www.example.com/archives/find?data=lastweek (我不想将查询字符串更改为操作参数,出于某种原因,我应该将其保留为查询字符串。) 我该怎么办?(编辑哪个.htaccess文件?CakePHP有3个文

我以前的网站URL结构是这样的:

http://www.example.com/index.php?go=archives&data=lastweek
今天,我迁移到CakePHP,所以URL不起作用。所以我想把它重定向到这个URL:

http://www.example.com/archives/find?data=lastweek
(我不想将查询字符串更改为操作参数,出于某种原因,我应该将其保留为查询字符串。)


我该怎么办?(编辑哪个
.htaccess
文件?CakePHP有3个文件!)

在文档根目录中的htaccess文件中(最好在已有规则之上),添加以下内容:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^go=archives&data=([^&]+)
RewriteRule ^/?index.php$ /archives/find/?data=%1 [L,R=301]

这将301重定向到
/index.php?go=archives&data=anything
/archives/find?data=anything

您的问题不是很清楚,因此需要理解您试图实现的目标。关于
.htaccess
文件,如果要使用重写规则,请使用webroot目录中的
.htaccess
文件。@Hoff:我想用它的查询字符串将
.php
文件重定向到CakePHP控制器。。(因为我在控制器操作中使用
$this->request->query
获取查询字符串)