htaccess 301将所有带有查询的网站页面重定向到/

时间:2013-03-06 12:59:36

标签: .htaccess mod-rewrite rewrite query-string

在过去的网站上充满了不同基础的网页。在重新设计和新概念之后,该网站仅包含1页。所以我需要将所有旧页面重定向到/.

页面例如:

http://domain.com/catalog/index.html?c_id=145 
http://domain.com/catalog/?c_id=116
http://domain.com/news/read.html?id=174
and so on.

在htaccess中,我制定了以下几条规则:

RewriteRule ^catalog(.*)$ http://domain.com/ [L,R=301]

但是这条规则没有完全控制,结果并不令人满意:

http://domain.com/?c_id=145

我怎样摆脱这个?我需要将所有此类链接重定向到http://domain.com而不添加任何内容。我认为{QUERY_STRING}可以提供帮助,但我不知道如何做到这一点。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在末尾添加?以创建空白查询字符串:

#                       append "?" here ----v
RewriteRule ^catalog(.*)$ http://domain.com/? [L,R=301]