添加重写规则

时间:2015-03-30 18:19:02

标签: .htaccess

我在/ forum /目录中有这个.htaccess。现在我想添加另一个规则:所有格式与这两个规则中指定格式不同的URL必须从old-domain.com/forum/*重定向到new-domain.com/forum /。

我需要永久重定向。

所需重定向的示例:

from old-site.com/forum/members/15-username
to new-site.com/forum/

实际.htaccess:

RewriteEngine On
RewriteBase /forum/

RewriteCond %{HTTP_HOST} ^(?:www\.)?old-domain\.com$ [NC]
RewriteRule ^([^/]+)/([^-]+)-([^/]+)/?$ http://new-domain.com/forum/$1/$3.$2 [L,R=302,NE]

RewriteCond %{HTTP_HOST} ^(?:www\.)?old-domain\.com$ [NC]
RewriteRule ^([^-]+)-([^/]+)/?$ http://new-domain.com/forum/$2.$1 [L,NE,R=302]

仅供参考,这些规则适用于以下重定向: 1)

From: old-domain.com/forum/idF-forum-name
To: new-domain.com/forum/forum-name.idF

其中idF是变量号,“original-name”是变量短语

2)

From: old-doimain.com/forum/idF-forum-name/idT-thread-name
To: new-domain.com/forum/idF-forum-name/thread-name.idT

其中idP是随机数。

1 个答案:

答案 0 :(得分:1)

您可以在底部尝试新规则:

RewriteEngine On
RewriteBase /forum/

RewriteCond %{HTTP_HOST} !^(?:www\.)?old-domain\.com$ [NC]
RewriteRule ^ - [L]

RewriteRule ^[\w-]+/\d+-[^/]+/?$ http://new-domain.com/forum/ [L,R=302]    

RewriteRule ^([^/]+)/([^-]+)-([^/]+)/?$ http://new-domain.com/forum/$1/$3.$2 [L,R=302,NE]

RewriteRule ^([^-]+)-([^/]+)/?$ http://new-domain.com/forum/$2.$1 [L,NE,R=302]

RewriteRule ^ http://new-domain.com/forum/ [L]