Magento Creating Multi Stores on Different Domains

Magento is yet a powerful opensource e-commerce solution. It allows you create multiple stores inside single installation.
You can then point each of store to a new url.

Lets start with multi store creation.

Step 1: Create Category for new store

Magento needs root category for the store, you can either create new store category for your store or pick default one.

Below I am going to add a new category for new store you can just select default if you don’t want a new category.

Create New Category

Go to Catalog >Manage Categories and create new root category


Provide the category name and set is active to “Yes”


In Display settings tab select is anchor to “Yes”


Save the category, It will be showing on left side categories as new root category




Step 2: Create new site, store and store view

Login to magento backend and go to system >manage stores


Create website

Click on “Create Website” Button


Enter website name and code and save it



After Saving the website we are going to create store for that website


Create Store

Click on “Create Store” button to create a store for that website


Select website you just created from drop-down and provide store name, select the root category you just created for your store. If you haven’t created new root category you can pick default one.


Save the store and next is to create store view for that store


Create Store View

Click on “Create store view” button to create a view for store we just created.


Select the store you just created from drop-down and provide store code, set is Enabled.



Save “Store View” and that’s it. New store has been created.

Configure your store

we have created store. Now we are going to configure it i.e store urls and store name

Go to System >Configuration

Select your store from top left drop-down


Click on web in left and then provide secure and unsecure urls for your store.
Note: Uncheck the “Use Website” checkbox


Save Config.

Next step is to create subdomain in cpanel for our new store


Step 3: Create Sub Domain

Go to your hosting website or CPanel and create a new subdomain i.e
Create document root inside your magento installation.
For example if your magento is installed at /home/usrname/public_html/magento
Then your subdomain document root should be like /home/usrname/public_html/magento/dev_mywebsite

So basically we have created new directory inside existing magento installation and named it to our store name.


Look at the screenshot above, “dev_mywebsite” is placed inside magento

Step 4: Linking Magento with Store

We have created our subdomain and pointed it to directory inside the magento installation.
You would be thinking how magento will use this subdomain directory, lets solve this game.

Copy magento index.php and .htaccess files into new store

We have created a separate directory inside magento for subdomain so we can do our changes for new store separately but that doesn’t mean we are going to copy whole magento code into it. A big No. We are just going to copy the index.php and .htaccess file inside the dev_mywebsite directory.

Do it via ssh or do it via ftp, I am going to do it via ssh

Cd to the dev_mywebsite directory and copy the index.php and .htaccess file

$ cd /home/usrname/public_html/magento/dev_mywebsite
$ cp ../index.php ../.htaccess .


Creating links to default magento installation

We have copied index.php and .htaccess files from base magento installation into new store directory. Now we are going to create links to magento so our new index.php file will still using base magento installation.

$ ln -s ../app ./app
$ ln -s ../errors ./errors
$ ln -s ../js ./js
$ ln -s ../lib ./lib
$ ln -s ../media ./media
$ ln -s ../skin ./skin
$ ln -s ../var ./var


Step 5: Manage Subdomain  Redirection at magento

We have linked base magento installation with our new store directory, now we just have to configure .htaccess file inside dev_mywebsite directory so magento can know which store to load.

For example you type in url it will call index.php located inside dev_mywebsite directory and will look for configurations in .htaccess file location in dev_mywebsite directory before loading index.php.

gentSo we are using .htaccess file to control the magento. Mao uses environment variables to load the stores.

Open your .htaccess file located inside dev_mywebsite directory and on top write following lines

<IfModule mod_setenvif.c>
	SetEnvIf Host .*dev.mywebsite.* MAGE_RUN_CODE=dev_mywebsite
	SetEnvIf Host .*dev.mywebsite.* MAGE_RUN_TYPE=website


Save the file and now run your store in browser like

It will be loading your store.
Enjoy 🙂

Please provide your feedback 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *