我想将mod重写为以下示例:
从google.com.mydomain.com到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而不是google
感谢
答案 0 :(得分: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
。