301重定向子目录及其中的任何内容

时间:2014-05-19 03:00:12

标签: .htaccess

我买了一个显然使用某种CMS的旧网站,也许是wordpress。 现在它是一个简单的HTML网站。我想将www.example.com/main和该目录中的所有内容重定向到root。换句话说,如果网址是example.com/main/a_bunch_of_garbage,则应该301重定向到主页。这是我所拥有的,但它并不是很有效。

Options +FollowSymLinks
RewriteEngine on 
RedirectMatch 301 ^/main/(.*)$ http://www.example.com

如果网址不包含任何奇怪的字符,例如?或=然后它的工作原理。但是,例如,如果我访问www.example.com/main/index.php?option=com_content&view=post&id=84&Itemid=982/ 然后,虽然它确实重定向到主页,但在地址栏中,我仍然可以看到整个网址。我能解决这个问题吗? 我还记得我遇到的另一个问题。如果我把example.com/main(在main之后没有正斜杠)重定向不起作用。它只适用于我将example.com/main/(带正斜杠)

1 个答案:

答案 0 :(得分:0)

您只需使用mod_rewrite规则,并避免在此处混合使用RedirectMatch。在你的root .htaccess:

中有这样的规则
Options +FollowSymLinks
RewriteEngine on

RewriteRule ^main(/.*)$ $1? [L,NC,R=301]
最后

?用于去除任何现有的查询字符串。