2012-05-22 13 views
0

我有當前的重寫規則。如何滿足我的htaccess中的www條件

RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule ^$ /s/index.php?s=%1 [L] 

基本上,這是什麼一樣的是,它指向test.domain.com到www.domain.com/s/index.php?s=test。

的代碼第二行是爲了防止www.domain.com從指向/s/index.php ...(這是我的主要網站)

然而上述規則和代碼沒有爲工作www.test.domain.com。

我希望test.domain.com和www.test.domain.com都指向www.domain.com/s/index.php?s=test。

+0

你是什麼意思 「點到兩個」? –

回答

0

試試這個:

RewriteCond %{HTTP_HOST} ^(www.)?([^\.]+)\.domain\.com$ [NC] 
RewriteCond %{HTTP_HOST} !^www\.domain.com [NC] 
RewriteRule ^$ http://www.domain.com/s/index.php?s=%2 [L,QSA] 
+0

感謝您的代碼,我可以知道^(www。)的用途是什麼? – Slay

+0

它會在開始時檢查www的存在,如果它存在,則將其消耗並將之後的零件指定給%1。第二個條件然後檢查您的例外情況(www.domain.com)。 – Ansari

+0

謝謝!幫助我很多。 – Slay