Tell me more ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

I'm trying to redirect a subdomain to a subfolder e.g. forums.domain.com to www.domain.com/forums

Note that I started the forums in the subfolder format but worried that members might mistakenly try to access the forums using the subdomain format.

RewriteCond %{HTTP_HOST} ^(www\.)?forums\.domain\.com
RewriteRule .* /forums [L]

From what I read the codes above should work through .htaccess, but do I still need to create a DNS A record to point to the IP address of the server?

share|improve this question
I manage to get the redirection working by adding a DNS A record but now the url becomes forums.domain.com. How can I change my htaccess so that it retains the url as www.domain.com/forums? – Laurent Ho May 7 '11 at 8:30

2 Answers

Try this:

Options +FollowSymLinks 
RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www)\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com [NC]
RewriteRule (.*) http://www.domain.com/%1 [R=301,L]

This is generic and will redirect all subdomains to a subdirectory. If you have only one subdomain you want to redirect you can hardcode it in.

share|improve this answer

@John: I've been searching for months on how to do this successfully. So far your snippet of code is the only one that has worked on my WP subfolder multisite install. I think it might have something to do with the "+FollowSymLinks" line.

What I wanted to do was take xyz.domain.com and redirect to domain.com/xyz. That works with the above code. But I'd like abc.domain.com to redirect to domain.com/xyz as well (i.e., two subdomains pointing to the same subfolder). How exactly do I do that? Despite my layman's attempts to "reverse engineer" or adapt your code, I don't understand how to hardcode these.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.