2010-03-29 65 views
0

我正在將我的網站移動到新主機,但我需要讓當前服務器繼續處理請求(並非所有文件都可以移動到新服務器)。 因此,我將一個停放的域添加到我的舊服務器(old.mydomain.com),並且我希望將它的所有請求寫入到舊網站的文件中。如何設置.htaccess重寫到不同的文件夾

我的舊網站(mydomain.com)內部託管在一個文件夾(/public_html/mydomain/)中,我希望將所有到old.mydomain.com的請求重寫到同一個文件夾。 因此,如果mydomain.com/blog內部爲/public_html/mydomain/blog,我現在想讓old.mydomain.com/blog也達到/public_html/mydomain/blog

這裏是我想要使用的.htaccess:

RewriteCond %{HTTP_HOST} ^old\.mydomain\.com/* 
RewriteRule ^(.*)$ mydomain/$1 [NC,L] 

但由於某些原因,當我加入$1在重寫規則我得到一個內部錯誤。

任何想法?

+0

這可能不是你的錯誤的原因,但我不認爲你想要的'/ *'在結束你的RewriteCond - HTTP_HOST將只包含主機名,而不包含整個網址 – 2010-03-29 14:12:04

+0

偏離主題。可能屬於http://webmasters.stackexchange.com/。 – 2012-02-27 01:51:44

回答

0

將其配置爲一個名爲old.mydomain.com的單獨虛擬主機,並確保它在虛擬主機定義(即vhosts.conf中較高)的*.mydomain.com之前。將old.mydomain.com與以前的域相比,具有相同的DocumentRoot。

.htaccess是服務於網頁處理器密集程度最高的方式,只能使用,沒有其他選項可用。

+0

我在共享主機上,所以我沒有訪問vhosts.conf – Guy 2010-03-29 10:20:47

0

請嘗試修復您的.htaccess的配置如下:

RewriteCond %{HTTP_HOST} ^old\.mydomain\.com$ 
RewriteRule ^(.*)$ /public_html/mydomain/$1 [NC,L] 
+0

我試過了,仍然得到一個內部錯誤:( – Guy 2010-03-29 10:24:26