2016-09-23 51 views
1

我正嘗試將網站從一個域上的一組靜態html頁面移至WordPress上的一個新域。所以我希望每個舊頁面都會重定向到新域的相應新頁面。這個htaccess有什麼問題?

舊域的結構,像這樣:

http://www.example.com/page.html 

和新域具有這樣的結構:

http://www.example-new.com/category/sub-category/page/ 

所以,我想這一點:

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page1.html [NC] 
RewriteRule ^(.*)$ http://www.domain-new.com/new-category/new-sub-category/page1/ [R=301,L] 

RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page2.html [NC] 
RewriteRule ^(.*)$ http://www.domain-new.com/new-category/new-sub-category/page2/ [R=301,L] 

RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page3.html [NC] 
RewriteRule ^(.*)$ http://www.domain-new.com/new-category/new-sub-category/page3/ [R=301,L] 

RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page4.html [NC] 
RewriteRule ^(.*)$ http://www.domain-new.com/new-category/new-sub-category/page4/ [R=301,L] 

RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page5.html [NC] 
RewriteRule ^(.*)$ http://www.domain-new.com/new-category/new-sub-category/page5/ [R=301,L] 

而且它的工作原理(有點)。唯一的巨人問題是,現在所有頁面重定向到第一個新頁面,在這種情況下http://www.domain-new.com/new-category/new-sub-category/page1/

顯然我不是專家,但我花了幾個小時在谷歌尋找答案和嘗試的東西,不能如何做到這一點,我發現最接近的是關於重定向domain Adomain b刪除擴展名,所以這是我的最後一個資源。

任何幫助表示讚賞!

回答

2

這種情況的主要問題是:

RewriteCond %{HTTP_HOST} !^http://www.domain-old\.com/page1.html [NC] 

這將始終計算爲true因爲變量HTTP_HOST只匹配主機名web請求不完整的URL的一部分。

你可以在你的.htaccess使用單一的規則:

Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{HTTP_HOST} ^(?:www\.)?domain-old\.com$ [NC] 
RewriteRule ^([\w-]+)\.html$ http://www.domain-new.com/new-category/new-sub-category/$1/ [R=301,L,NC] 
+1

這是驚人的,像一個魅力工作,非常感謝! –

+0

你需要15 +代表upvote任何答案。現在你有17,所以你可以upvote,如果你想。 – anubhava

+1

我注意到了,已經做到了:) –

1

你過於複雜這一點。而不是所有的處理,只需使用重定向指令。

Redirect 301 /page1.html /new-category/new-sub-category/page1/ 
Redirect 301 /page2.html /new-category/new-sub-category/page2/ 
Redirect 301 /page3.html /new-category/new-sub-category/page3/ 
Redirect 301 /page4.html /new-category/new-sub-category/page4/