2012-02-17 228 views
10

我打算設置場景,如果有人訪問website.com/blog/他們被重定向到blog.website.com.htaccess重定向到子域

我用這個代碼在我的.htaccess文件來實現一些其他的重定向(從.NET到.COM)以前:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.|blog.)?website.net(.*) [NC] 
RewriteRule (.*) http://www.website.com/$1 [R=301,L] 

這也可能是相關的,我有一個的ErrorDocument 404我apache配置文件。

爲了解決我的我的問題我嘗試這樣做:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.|blog.)?website.net(.*) [NC] 
RewriteRule (.*) http://www.website.com/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} ^(www.)?website(.com|.net)/blog/?$ [NC] 
RewriteRule (.*) http://blog.website.com/ [L] 

此代碼但不工作。我的錯誤文檔仍在處理請求(/ blog /目錄不存在)。我試着將這個新的代碼放在apache conf文件的ErrorDocument上面,但是發生了同樣的事情。

這無疑是一個語法錯誤,任何幫助,將不勝感激:)

回答

6

嘗試添加下列到.htaccess文件在您webiste.com站點的根目錄下。

RewriteEngine on 
RewriteBase/

#if not already blog.website.com 
RewriteCond %{HTTP_HOST} !^blog\.website\.com$ [NC] 
#if request is for blog/, go to blog.website.com 
RewriteRule ^blog/$ http://blog.website.com [L,NC,R=301] 
+1

,完美工作的感謝 – user1216981 2012-02-17 21:15:58

8
在你website.com的根目錄下的.htaccess文件

RewriteEngine on 
RewriteBase/

RedirectMatch 301 ^/blog/(.*)$ http://blog.website.com/$1