.htaccess Cakephp使用查询从旧URL重定向301

.htaccess Cakephp使用查询从旧URL重定向301,.htaccess,cakephp,mod-rewrite,redirect,.htaccess,Cakephp,Mod Rewrite,Redirect,我正在尝试重定向旧的URL,例如,到cakephp2/about。 my.htaccess在顶部有一个mod_重写减速。 我在.htaccess中尝试了几个选项,例如: RewriteRule ^/index.php?option=com_content&view=article&id=1 http://www.mysite.com/about [R=301,L] 正确的语法是什么? 我使用的是哪个.htaccess,无论是顶级的还是app/webroot中的,都很

我正在尝试重定向旧的URL,例如,到cakephp2/about。 my.htaccess在顶部有一个mod_重写减速。 我在.htaccess中尝试了几个选项,例如:

 RewriteRule ^/index.php?option=com_content&view=article&id=1  http://www.mysite.com/about     [R=301,L]
正确的语法是什么? 我使用的是哪个.htaccess,无论是顶级的还是app/webroot中的,都很重要。 谢谢
Orly

您的
重写规则
不正确,因为
中的前导
/
不匹配。htaccess
和查询字符串也不匹配

您可以使用以下规则:

RewriteCond %{QUERY_STRING} (^|&)option=com_content&view=article&id=1(&|$)
RewriteRule ^index\.php$ http://www.mysite.com/about? [R=301,L]

QUERY\u字符串
自动转入新URL,因此新URL将变成:
http://www.mysite.com/about?option=com_content&view=article&id=1

您的
重写规则不正确,因为
中的前导
/
不匹配。htaccess
和查询字符串也不匹配

您可以使用以下规则:

RewriteCond %{QUERY_STRING} (^|&)option=com_content&view=article&id=1(&|$)
RewriteRule ^index\.php$ http://www.mysite.com/about? [R=301,L]

QUERY\u字符串
自动转入新URL,因此新URL将变成:
http://www.mysite.com/about?option=com_content&view=article&id=1

无论您的服务器指向您的web根目录,您都希望在该目录的.htaccess文件中添加规则。CakePHP的
RewriteRule
非常贪婪,因此您可以在CakePHP的上面添加
RewriteRule
s;或者将
重定向301
规则添加到.htaccess文件的底部。我倾向于以这种方式将我的
重写规则
s与我的
重定向
s分开。

无论您的服务器指向您的web根目录,您都希望将规则添加到该目录下的.htaccess文件中。CakePHP的
RewriteRule
非常贪婪,因此您可以在CakePHP的上面添加
RewriteRule
s;或者将
重定向301
规则添加到.htaccess文件的底部。我倾向于以这种方式将我的
重写规则
s与我的
重定向
s分开。

我已经添加了这些行,这是我得到的新URL:并且它继续与目标URL中的/about&/Sorry我丢失了
。现在检查编辑。我已经添加了这些行,这是我得到的新URL:并且它与目标URL中缺少的
一起继续/about&/Sorry。现在检查编辑。