我试图将旧的URL (如content&view=article&id=1 )重定向到cakephp2 /about。我的.htaccess在顶部有一个mod_rewrite减速。我在.htaccess中尝试了几个选项,如:
RewriteRule ^/index.php?option=com_content&view=article&id=1 http://www.mysite.com/about [R=301,L]正确的语法是什么?我使用的是哪个.htaccess,无论是在顶层还是在app/webroot中,都有关系吗?谢谢奥利
发布于 2013-10-02 11:48:46
您的RewriteRule不正确,因为在.htaccess中不匹配前导/,查询字符串也不匹配。
您可以使用以下规则:
RewriteCond %{QUERY_STRING} (^|&)option=com_content&view=article&id=1(&|$)
RewriteRule ^index\.php$ http://www.mysite.com/about? [R=301,L]QUERY_STRING自动转到新URL,因此新URL将变成:http://www.mysite.com/about?option=com_content&view=article&id=1
发布于 2013-10-02 14:56:00
无论您的服务器指向您的web根目录,您都希望在该目录中的.htaccess文件中添加规则。CakePHP的RewriteRule非常贪婪,所以您希望在CakePHP的基础上添加RewriteRule;或者将Redirect 301规则添加到.htaccess文件的底部。我倾向于以这种方式将我的RewriteRule和Redirect分开。
https://stackoverflow.com/questions/19136058
复制相似问题