htaccess 301自定义重定向

时间:2015-02-07 22:26:11

标签: .htaccess redirect

任何人都可以帮我设置这两个重定向吗?

1)

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

其中idF是变量号,"原始名称"是一个可变短语

2)

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

其中idT是变量号,"线程名称"是一个可变短语。 有时候在idT-thread-name之后会有另一个部分,例如:

old-doimain.com/forum/idF-forum-name/idT-thread-name/#idP

其中idP是随机数。我想将此类网址重定向到" new-domain.com/folder/subfolder/thread-name.idT"

1 个答案:

答案 0 :(得分:1)

案例1:如果/forum/目录中没有.htaccess。

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /

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

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

案例2:如果/forum/目录中有.htaccess。

您可以在/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]