2010-11-08 85 views
3

我们安装了一个新的商店软件,并为所有旧页面设置了重定向,但还有一个我无法工作。如果URL包括如果url包含特定字符串,htaccess重定向

cp_tpl = productlist.html

那么我想重定向到主网站。因此,例如旧的URL可能是

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'是否包含在URL中的任何位置,然后重定向。我已经尝试了大约100个不同的.htaccess重新编写,但只是无法让它工作!我会很感激任何想法....谢谢!

+0

列出你试过的一些RewriteRules。 – 2010-11-08 01:53:20

+0

是RewriteRule cp_tpl = productlist \ .html http://www.gocellular.ca/ [R,L]不工作? (当然,http后面没有空格。) – Andrew 2010-11-08 01:54:57

回答

4

为了在查询字符串中捕获该字符串,就像您在那里显示的那样,您必须使用RewriteCond,因为正则表达式不会在重定向规则中针对查询字符串进行检查。像这样的应该做的伎俩:

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

上述将保持查询字符串不动。如果你想删除查询字符串,只需添加一个?之后/,例如:

RewriteRule .* /? [R,L] 
+0

完美地工作,正是我所期待的。谢谢! – Matt 2010-11-08 02:57:08

+0

我已经实现了这一点,但它并没有为我工作。如果我的网址包含单词'论坛',那么它应该重定向到83answers.com。我在我的htaccess中写了如下内容 RewriteCond%{QUERY_STRING}论坛 RewriteRule。* 83answers.com [R,L] 但是没有奏效,请帮我解决这个问题 – 2014-02-03 06:40:49

+0

这个问题是关于查询字符串的。 “RewriteRule forum 83answers.com [R,L]'应该覆盖URL的其余部分。 – 2014-02-03 15:47:32

相关问题