htaccess 301 自定义重定向

htaccess 301 custom redirect

谁能帮我设置这两个重定向?

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

其中idT为可变数,"Thread-name"为可变词组。 有时在 idT-thread-name 之后会有另一部分的 url,例如:

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

其中 idP 是一个随机数。我也想将这种 URL 重定向到 "new-domain.com/folder/subfolder/thread-name.idT"

情况一:如果/forum/目录下没有.htaccess.

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

RewriteEngine On
RewriteBase /

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

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

情况二:如果/forum/目录下有.htaccess.

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

RewriteEngine On
RewriteBase /forum/

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

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