views:

1239

answers:

2

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  A: 

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.

Greg
Thank you Greg for your comment but can you please make further and and rule for url like,http://abc.example.com/booksand I want both variables "abc" and "books" also. and I want to redirect it to a profile.php
That will do "abc" and "books"
Greg
Hey Greg yo are great man. I was stumbling upon this problem from so much time. so solved.Thank you verymuch
A: 

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"

AlberT
Thank you for your explanation my problem get solved and I'm getting both variablesThank you very much.