Possible Duplicate:
How do I prevent access to an add-on domain's root directory from main hosting domain name

I am hosting a webshop with OpenCart and its current URL is e.g. http://mydomain.com/shop/
I have created two subdomains ( http://pg.mydomain.com/ and http://shop.mydomain.com/ ) and both subdomains are already working as they should. However, can I restrict direct access to mydomain.com/shop/ while leaving all the files (index.php, etc.) there?
Since both subdomains are pointing to http://mydomain.com/shop/, I thought this would restrict all access.

So in the end, I would like my two shops to be accessable through http://pg.mydomain.com/ and http://shop.mydomain.com/, but not http://mydomain.com/shop/ while leaving all the files in http://mydomain.com/shop/.


2 Answers 2


You can do it with the following rule. This file would need to be placed in your /shop/ subdirectory.

RewriteEngine on
RewriteBase / 

#if not already shop.mydomain.com
RewriteCond %{HTTP_HOST} !^shop\.mydomain\.com$ [NC] 
#if request is for shop/, go to shop.mydomain.com
RewriteRule ^shop/$ http://shop.mydomain.com [L,NC,R=301] 

For obvious reasons, you can't redirect a person to two places at once (you need to choose either pg.yourdomain.com or shop.yourdomain.com). Once you have done the above, you can always do a manual redirect from the pg.yourdomain.com to shop.yourdomain.com. The rule can also be used if you wanted to setup a second shop.


It's always bad practice to leave operational things in web accessible folder.

But you can always place a .htaccess file in the shop folder to redirect the traffic to another address.

  • Thank you for your answer. Where can I look up how to fill this .htaccess file? I'm rather new to configuring a server
    – MechMK1
    Jun 26, 2012 at 12:32

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