htaccess subdomain redirct with last url parameter

2019-01-25 00:08发布

问题:

I want to write a .htaccess file for redirecting my subdomains and URL's last variable to a new location. Here is what I want to do:

http(s)://abc.example.com/books

I want my internal URL to be like:

http://example.com/?name=abc&type=books

I have already gotten the subdomain redirect to work but I am not able to do subdomain with variable in last part of URL.

How can I accomplish this?

回答1:

This should do what you want:

RewriteCond %{HTTP_HOST} ^(.+).example.com
RewriteRule ^(.*)% http://example.com/?name=%1&type=$1 [R,L]

The "%1" means use the first capture group from the RewriteCond above.



回答2:

RewriteCond %{HTTP_HOST} ^(.+)\.example\.com
RewriteRule ^([^/]*)$ http://example.com/?name=%1&type=$1 [R,L]

The "%1" means use the first capture group from the RewriteCond, while $1 is the first capturing group in the rule itself.

In your example %1 will be "abc" and $1 will be "book"

[^/]* means "match every character not being a slash, 0 or more times"