如果url包含特定字符串,则htaccess重定向

时间:2010-11-08 01:51:49

标签: .htaccess

我们已经安装了一个新的商店软件,我已经为所有旧页面设置了重定向,但有一个我无法开始工作。如果网址包含

cp_tpl = productlist.html

然后我想重定向到主网站。例如,旧网址可能是

http://www.gocellular.ca/index.php?cp_tpl=productlist.html&cp_cat=803&cp_sid=1xxxxxx

我想重定向到

www.gocellular.ca

'cp_tpl = productlist.html'可以在网址中的任何位置 - 基本上我只是想检查字符串'cp_tpl = productlist.html'是否包含在网址中的任何位置然后重定向。我已经尝试了大约100种不同的.htaccess重写但是却无法让它工作!我会非常感谢任何想法......谢谢!

1 个答案:

答案 0 :(得分:4)

为了在查询字符串中捕获该字符串,您必须使用RewriteCond,因为正则表达式不会针对重定向规则中的查询字符串进行检查。这样的事情可以解决问题:

RewriteCond %{QUERY_STRING} cp_tpl=productlist.html
RewriteRule .* / [R,L]

以上将保持查询字符串不变。如果你想删除查询字符串,只需添加一个?在/,即:

之后
RewriteRule .* /? [R,L]