【问题标题】:301 redirect subdirectory and anything in it301重定向子目录及其中的任何内容
【发布时间】:2014-05-19 15:25:03
【问题描述】:

我买了一个旧网站,显然使用了某种 CMS,也许是 wordpress。 现在它是一个简单的 html 网站。我想将 www.example.com/main 和该目录中的所有内容重定向到根目录。换句话说,如果一个 url 是 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/ 然后虽然它确实重定向到主页,但在地址栏中,我仍然看到整个 URL。我可以解决这个问题吗? 我还记得我遇到的另一个问题。如果我将 example.com/main (在 main 之后没有正斜杠)重定向不起作用。仅当我输入 example.com/main/(带有正斜杠)时才有效

【问题讨论】:

    标签: .htaccess


    【解决方案1】:

    您只需要使用mod_rewrite 规则,并避免在此处混用RedirectMatch。在你的根 .htaccess 中有这样的规则:

    Options +FollowSymLinks
    RewriteEngine on
    
    RewriteRule ^main(/.*)$ $1? [L,NC,R=301]
    

    ? 最后用于剥离任何现有的查询字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-02
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      • 2011-03-08
      相关资源
      最近更新 更多