2012-08-16 115 views
5

您好我有一個主域名如下重定向子域的主域名只是一個URL

主要領域:http://www.sample.com/

子域:http://dev.sample.com/

現在,如果有任何一個接入http://dev.sample.com/它需要重定向到http://www.sample.com/ 所以我添加下面的代碼在我的子域它非常好

RewriteCond %{HTTP_HOST} !www.sample.com.com$ [NC] 

RewriteRule ^(.*)$ http://www.sample.com.com/$1 [L,R=301] 

但是從子域,如果任何訪問以下網址http://dev.sample.com/data然後 它不應該重定向到主域名。它應該停留在該子域頁面上。任何人有想法?

回答

2

嘗試下列規則:

RewriteCond %{HTTP_HOST} ^dev\.sample\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/?data 
RewriteRule ^(.*)$ http://www.sample.com/$1 [L,QSA,R=301] 
+0

謝謝@Yazmat。其工作正常:) – AnNaMaLaI 2012-08-17 05:36:45

+0

就是你!!!歡迎:)很高興它工作^^ – Oussama 2012-08-17 10:24:52

1

試試這個:

RewriteCond %{HTTP_HOST} !www\.sample\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/data [NC] 
RewriteRule ^(.*)$ http://www.sample.com/$1 [L,R=301] 

但是,這將阻止所有的URL與/數據的URI的開始。所以如果你有http://blog.sample.com/data它也可以讓它解決沒有重寫。如果這是一個問題,你可以得到更復雜......這一規則後,添加此捕獲所有非dev的子域:

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

現在第一條件設定不符合第一條規則將無法運行,所以檢查一下,以確保你只在服務器上啓用/ www和/ data。

+0

我試過,但它不工作:( – AnNaMaLaI 2012-08-17 12:04:19

+0

尼斯一個工作就像一個魅力:) – 2013-03-04 15:15:59