So, I am trying to make: sub.example.com/page rewrite to http://www.example.com/sub/page
I have this code which does work (note last character):
RewriteCond %{HTTP_HOST} !www.example.com$ [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).example.com [NC]
RewriteRule ^(.*) http://www.example.com/%1/$1 [R]
And this code that does not:
RewriteCond %{HTTP_HOST} !www.example.com$ [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).example.com [NC]
RewriteRule ^(.*) http://www.example.com/%1/$1 [L]
I want the url to remain as the user typed it in, but this seems to produce a 500 error. I’ve enabled logging to try to assist, but it doesn’t provide any clues. Is this possible?
Try changing the last Rule to
If you list your directory structure to show how
sub.example.comandwww.example.comare related, this may also be possible via a rewrite vs the more expensive (slower) proxy solution above.