2016-03-15 226 views
1

我需要改變我的網站的域名,我會用永久重定向301.我發現,這種設置上的.htaccess將做的工作:301重定向到更改的網址

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example.com [NC,OR] 
RewriteCond %{HTTP_HOST} ^www.example.com [NC] 
RewriteRule ^(.*)$ http://www.new-example.com/$1 [L,R=301,NC] 

但我也需要將所有網址結構從http://www.new-example.com/old/this-is-url1.html更改爲http://www.new-example.com/this-is-url1.html

規則必須在他們的別名效果僅網址目錄old:www.new-example.com/old/...

而且他們重定向到URL,而不目錄old:www.new-example.com/

你能告訴我什麼重定向規則我必須使用.htaccess來實現這種情況嗎?測試這種變化之前

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC,OR] 
RewriteCond %{HTTP_HOST} ^www\. [NC] 
RewriteRule ^(?:old/?)?(.*)$ http://new-example.com/$1 [L,R=301,NC,NE] 

清除瀏覽器緩存:

回答

0

這一規則替換您的代碼所示。

+0

此代碼完美適用於更改我所有與「舊」目錄的鏈接,但我還需要更改所有帶有新域名的鏈接。使用兩個代碼是否正確?我的第一個域名重定向代碼和您的代碼是否適合我的具體情況? – Haris

+0

是的,這是一個完美的工作!我使用:RewriteEngine on RewriteCond%{HTTP_HOST} ^(www \。)?example \ .com $ [NC] RewriteRule ^(?: old /)?(.*)$ http:// new-example。 com/$ 1 [L,R = 301,NC,NE] – Haris

+0

此代碼完美無缺!我嘗試使用沒有www的rewriterule,讓我所有的鏈接都沒有www,並且工作完美,除了我使用www進入新域名的情況。當我用www輸入新的域名時,它不會將其重定向到非www。 – Haris