简体   繁体   中英

how to make mod_rewrite to redirect from subdomains to querystring?

I want to make mod rewrite as the following example :

from google.com.mydomain.com to mydomain.com/index.php?domain=google.com

I use like

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

but this redirect google.mydomain.com to mydomain.com/index.php?domain=google

I want rule to redirect google.com not google

thanks

It is due to the incorrect regex. Try this rule:

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

In your rule you're using [^\\.]+ which matched until a dot is found therefore it is matching google instead of google.com .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM