2013-02-19 50 views
1

我需要301将所有?print=yes网址重定向到没有?print=yes的网址,其中包含相同的名称,通过.htaccess。目前,该网站的标头中出现PRINT的按钮,因此需要修复70多个网址...将该按钮移除到PRINT页面会使设计毁于一旦,因此它不是真正的选择。如何为具有特定字符的URL制作htaccess规则?

我认为它需要一个RedirectMatch规则,但我该怎么写呢?

例子:redirect 301 from domain.com/faq/?print=yes to domain.com/faq

提前感谢!

+0

有时候我讨厌自己......这不起作用,因为我写错了东西。它是'domain.com/faq/?print = yes'而不是'domain.com/faq?print = yes'。抱歉。 – user2085949 2013-02-19 07:30:58

回答

1

启用mod_rewrite的,并通过httpd.conf的.htaccess,然后把这个代码在你.htaccessDOCUMENT_ROOT目录:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} ^print=yes$ [NC] 
RewriteRule^%{REQUEST_URI}? [R=301,L,NE] 
+0

非常感谢。有用! – user2085949 2013-02-19 07:57:26

+0

很高兴知道。请将此答案标记为已接受。 – anubhava 2013-02-19 08:24:49

0

我不知道,如果重定向可以做同样的,但这里是我如何与重写做

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^(.*)\?print=yes$ $1 [NC] 
+0

Techmonk,您能否相应地编辑您的代码?我很抱歉我在这方面不存在的语法技巧。 – user2085949 2013-02-19 07:35:53

+0

这不起作用,因为RewriteRule不能匹配查询字符串。 – anubhava 2013-02-19 07:45:48