【问题标题】:301 Redirection of url Pattern in htaccesshtaccess 中 url 模式的 301 重定向
【发布时间】:2013-08-25 19:22:04
【问题描述】:

以前我在主域上安装了 vbulletin 论坛。现在我已将其替换为 WP 博客并将论坛转移到子文件夹。 WP 和 vB 都有单独的 htaccess 文件。请帮我将旧论坛网址重定向到新网址。

旧网址格式:

www.domain.com/f1/post-title/
www.domain.com/f2/post-title/
www.domain.com/f3/post-title/

新的网址格式:

www.domain.com/forums/f1/post-title/
www.domain.com/forums/f2/post-title/
www.domain.com/forums/f3/post-title/

请有人帮我重写规则以正确重定向。还要提到要放置代码的 htaccess(WP 或 vB)。提前致谢。

【问题讨论】:

    标签: .htaccess redirect


    【解决方案1】:

    需要放在你的域根目录的.htaccess

    因此,如果您的根文件夹是 /home/youraccount/public_html/,那么在该文件夹中的 .htaccess 中。

    这将按照您上面的要求重定向,任何forum/topicforums/forum/topic

    Options +FollowSymLinks -MultiViews
    
    RewriteEngine on
    RewriteBase /
    
    RewriteRule ^(f\d+)/([^/]+)/?$ /forums/$1/$2/ [R=301,L]
    

    我可以使用([^/]+) 两次,但既然你提到你现在在根目录中有一个 WordPress,那么你应该需要一个更具体的规则来处理第一个文件夹,就像上面一样。

    这将匹配论坛 id aka f1, f2 ... 最多任意数量的数字:

    (f\d+)
    

    这会得到不是/ 的任何东西,所以它会得到帖子ID 和标题。

    ([^/]+)
    

    如果您的 .htaccess 文件中有更多规则,请确保将此规则放在 RewriteEngine on 之后和任何其他规则之前,这样它就不会与其他规则冲突并按照您的要求进行重定向:

    RewriteRule ^(f\d+)/([^/]+)/?$ /forums/$1/$2/ [R=301,L]
    

    【讨论】:

      猜你喜欢
      • 2014-09-03
      • 2011-04-29
      • 1970-01-01
      • 2013-12-21
      • 2015-03-04
      • 2013-09-10
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多