2013-05-27 28 views
1

停放以下條目舊域在htaccess的我的新網站(域名):如何在保留舊鏈接的同時將htaccess更改爲停放的域?

RewriteCond %{HTTP_HOST} ^(www.)?mynewsite.com$ 
RewriteRule ^(/)?$ mynewsite.com/index.php [L] 
RewriteCond %{HTTP_HOST} ^old\-site\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.old\-site\.com$ 
RewriteRule ^/?$ "http\:\/\/mynewsite\.com" [R=301,L] 

老鏈接,人們將享受: old-site.com/support.php,old-site.com /en/index.php,old-site.com/zh/support.php,old-site.com/msg/text.php 當我點擊它時,出現錯誤404錯誤。

如何重定向他們到新域的相同地址? old-site.com/support.php - > mynewsite.com/support.php,old-site.com/en/index.php - > mynewsite.com/en/index.php

+0

當你說「停放」時,你有控制舊域名的'.htaccess'文件還是使用註冊商的停車功能? –

回答

1

如果舊網站託管作爲一個單獨的域(不同的虛擬主機),在舊網站的.htaccess

RewriteCond %{HTTP_HOST} old\-site\.com$ 
RewriteRule ^(.*)$ http://mynewsite.com [R=301,L] 

然後在新網站的.htaccess

RewriteCond %{HTTP_HOST} ^www.mynewsite.com$ 
RewriteRule ^(.*)$ http://mynewsite.com/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.* http://%{HTTP_HOST}/? [R=301,L] 

如果他們都在同一個虛擬主機(舊域名是別名),那麼你可以這樣做:

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

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.* http://%{HTTP_HOST}/? [R=301,L] 
相關問題