2013-12-19 114 views
1

我想讓國防部重寫如下面的例子:從google.com.mydomain.com如何使mod_rewrite從子域重定向到查詢字符串?

到mydomain.com/index.php?domain=google.com

我使用像

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

但這重定向到google.mydomain.com mydomain.com/index.php?domain=google

我想排除重定向google.com不是谷歌

謝謝

回答

3

這是由於不正確的正則表達式。試試這個規則:

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

在您的規則你使用[^\.]+其匹配到一個點被發現,因此它是匹配google,而不是google.com

相關問題