2015-02-07 91 views
2

任何人都可以幫我設置這兩個重定向?htaccess 301自定義重定向

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是可變數量,和「線程名稱」是一個可變的短語。 Somtimes有正在使用的網址後,IDT線程名稱的另一個部分,例如:

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

哪裏IDP是一個隨機數。我想將這種URL重定向到「new-domain.com/folder/subfolder/thread-name.idT」

回答

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] 
+0

您好,首先感謝您SOOOOO多的回覆。我可以在論壇文件夾中創建一個.htaccess。問題是我還要配置另一個重定向:所有與帖子中寫入的結構不同的結構的url必須重定向到新的域。因此,舊域/ *必須重定向到new-domain.com/*,其中*可以是與第一篇文章中寫入的兩種類型不同的任何URL。這可能嗎? – testermaster 2015-02-08 05:09:22

+0

如果'/ forum/.htaccess'尚未存在,則不需要創建它,並從上面的'Case 1'中摘錄片段。 – anubhava 2015-02-08 05:14:21

+0

你好@anubhava,我可以問你如何添加一個規則來將'/ forum /'中的所有URL重定向到與https://www.new-domain.com/不同的地方論壇/'?謝謝! :) – testermaster 2015-03-29 21:01:54