Forum Topic: Problem redirecting primary domain to subdirectory

Forum: .htaccess Forum : Redirecting • Posted by Bohdan Durnota • Updated:

I am currently at wits end trying to get a redirect working.

I am using hostmonster to host a number of domains, and recently i changed the primary domain on the account. So i need to redirect requests for the primary domain to a subdirectory.

I tried the “usual” .htaccess solution/s (similar variations) found on the web but was unable to get things working. So after reading a bit about mod_rewrite etc thought I’d write a htaccess script from scratch based on my understanding of how pattern matching etc worked — see below. Even disabled the .htaccess file in the subdrectory to make sure no subsequent rewriting effect.

… But to no avail. Upon entering i get an “infinite redirect” and hence error.

Help would be appreciated, especially to clear up my mis-understandings. Much appreciated in advance.

PS: Tried to enable RewriteLog, to get some trace info, in the htaccess file but without success.

# .htaccess main domain to subdirectory redirect
# Having a go based on my first principles understanding of how (or Not!) rewriting works
# Not concerned so much if long-winded and/or inefficient, as long as the logic works
# Understanding is prime
RewriteEngine on
Options -Indexes

# [1] Rewrite or to the index page
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteCond %{REQUEST_URI} ^(/)?$
RewriteRule ^.*$ /subdirectory/index.html [L]

# [2] Keep URLs like as are
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteCond %{REQUEST_URI} ^/subdirectory/.+$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1 [L]

# [3] Rewrite URLs like to 
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteCond %{REQUEST_URI} ^/
RewriteCond %{REQUEST_URI} !^/subdirectory/
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /subdirectory/$1 [L]

# [4] Catchall in case something fell through
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule ^.*$ /subdirectory/index.html [L]

1 Reply to “Problem redirecting primary domain to subdirectory”

Posted by Jeff Starr

Hi Bohdan,

Okay first things first, what is an example of a redirect that you are trying to do, for example redirect to The first thing to do is get one redirect working, then adding the others should be straightforward. Looking forward to helping with this.