Tutorial :Apache rewrite based on subdomain [closed]



Question:

Im trying to redirect requests for a wildcard domain to a sub-directory.
ie. something.blah.domain.com --> blah.domain.com/something

I dont know how to get the subdomain name to use in the rewrite rule.

Final Solution:

RewriteCond %{HTTP_HOST} !^blah\.domain\.com  RewriteCond %{HTTP_HOST} ^([^.]+)  RewriteRule ^(.*) /%1/$1 [L]  

Or as pointed out by pilif

RewriteCond %{HTTP_HOST} ^([^.]+)\.media\.xnet\.tk$  


Solution:1

You should have a look at the URL Rewriting Guide from the apache documentation.

The following is untested, but it should to the trick:

RewriteCond %{HTTP_HOST} ^([^.]+)\.blah\.domain\.com$  RewriteRule ^/(.*)$           http://blah.domain.com/%1/$1 [L,R]   

This only works if the subdomain contains no dots. Otherwise, you'd have to alter the Regexp in RewriteCond to match any character which should still work due to the anchoring, but this certainly feels safer.


Solution:2

Try this:

RewriteCond %{HTTP_HOST} (.+)\.blah\.domain\.com  RewriteRule ^(.+)$ /%1/$1 [L]  

@pilif (see comment): Okay, that's true. I just copied a .htaccess that I use on one of my projects. Guess it has a slightly different approach :)


Solution:3

@Sam

your RewriteCond line is wrong. The expansion of the variable is triggered with %, not $.

RewriteCond %{HTTP_HOST} ^([^\.]+)\.media\.xnet\.tk$              ^  

that should do the trick


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »