以前我在主域安装了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)放置代码。提前谢谢。
答案 0 :(得分:0)
需要将其放在您网域根文件夹的.htaccess
上。
因此,如果您的根文件夹是/home/youraccount/public_html/
,那么在该文件夹的.htaccess
中。
这将按照您上面的要求重定向,任何forum/topic
到forums/forum/topic
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /
RewriteRule ^(f\d+)/([^/]+)/?$ /forums/$1/$2/ [R=301,L]
我可以使用([^/]+)
两次但是因为你提到你现在在根目录中有一个WordPress,那么你应该需要一个更具体的规则来处理第一个文件夹,如上所述。
这将与论坛ID f1
,f2
...匹配任意数量的数字:
(f\d+)
这将获得任何不是/
的内容,因此它将完全获得帖子ID和标题。
([^/]+)
如果您的.htaccess
文件中有更多规则,请确保在RewriteEngine on
之后和任何其他规则之前放置此规则,这样它就不会与其他规则冲突并按您的要求重定向:< / p>
RewriteRule ^(f\d+)/([^/]+)/?$ /forums/$1/$2/ [R=301,L]