2016-08-22 77 views
2

我試圖將所有內容從domain.com/subfolder重定向到newdomain.com使用htaccess將子文件夾內容重定向到不同的域(500內部服務器錯誤)

目前.htaccessdomain.com/subfolder使用此:

RedirectMatch 301 ^/subfolder/$ http://newdomain.com/ 

問題是,它只能與http://newdomain.com/工作,但前瀏覽時。 http://newdomain.com/page1彈出500錯誤。

也試過

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\.domain\.com\subfolder$ 
RewriteRule (.*) http://newdomain.com./$1 [R=301,L] 
RewriteCond %{HTTP_HOST} !^domain\.com\subfolder$ 
RewriteRule (.*) http://newdomain.com/$1 [R=301,L] 

此代碼生成:

newdomain.com重定向你太多次。嘗試清除您的 Cookie。

這兩個域都屬於同一個帳戶。

+0

是的,這兩個域都屬於同一個帳戶。嘗試了不同的瀏覽器,仍然一樣。 – Arturo

回答

1

......兩個域都屬於同一個帳戶。

在這種情況下,您將需要使用mod_rewrite,因爲您無法使用mod_alias區分域/主機(即。RedirectMatch)。另外請注意,301重定向會被瀏覽器緩存,所以瀏覽器很可能已經緩存了以前(錯誤的)嘗試。

RewriteCond %{HTTP_HOST} !^www\.domain\.com\subfolder$ 

HTTP_HOST服務器變量包含URL的只是主機(或域)的一部分。這不包括subfolder。 (但你也用一個反斜槓作爲路徑分隔符,並在替代錯誤點。)

嘗試在domain.com/subfolder/.htaccess文件中的以下內容:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ 
RewriteRule (.*) http://newdomain.com/$1 [R=302,L] 

更改302(臨時)於301 (永久),當你確定它工作正常。如上所述,301是緩存的,302不是,所以它使測試更容易。

+1

工作就像一個魅力,非常感謝。 – Arturo

相關問題