In this article, we’ll discuss how to create a subdomain using XAMPP on your local PC. This is particularly useful if you want to host multiple websites on your local server. You could simply create new folders and open them as www.example.com/ but that’s just boring! How about creating a subdomain? Something like www.sub.example.com, now that looks like something, doesn’t it?
Creating a Root Directory Folder for the Subdomain
Let’s see how we do all this stuff. Firstly you want to create the root directory of the new subdomain. Go to C:/xampp/htdocs (this might be different for you depending on where you installed XAMPP). The folder’s name can be just the subdomain name (ex: www.sub.domain.com the folder would be sub) or you can use the whole domain name for the folder name (ex: www.sub.domain.com the folder would be www.sub.domain.com).
Creating the Subdomain
To create the subdomain for your localhost you need to edit a XAMPP configuration file named httpd-vhosts.conf this file is located in C:/xampp/apache/conf/extra (this might be different for you depending where you installed XAMPP). Open up the httpd-vhosts.conf with your favorite text editor and look for the following:
##<VirtualHost *:80>
## ServerAdmin [email protected]
## DocumentRoot "C:/xampp/htdocs/dummy-host.localhost"
## ServerName dummy-host.localhost
## ServerAlias www.dummy-host.localhost
## ErrorLog "logs/dummy-host.localhost-error.log"
## CustomLog "logs/dummy-host.localhost-access.log" combined
##</VirtualHost>
Duplicate it and remove the ## from before each line, and then we are ready to create the subdomain, in our case, it will be sub.localhost of course you can make whatever you would like to. Change the * to sub.localhost and on each line where it says dummy-host.localhost to sub.localhost.com. The final result would look something like the following:
<VirtualHost sub.localhost.com:80>
ServerAdmin [email protected]
DocumentRoot "C:/xampp/htdocs/sub.localhost.com"
ServerName sub.localhost
ServerAlias www.sub.localhost.com
ErrorLog "logs/sub.localhost.com-error.log"
CustomLog "logs/sub.localhost.com-access.log" combined
</VirtualHost>
Registering the sub.localhost.com Domain
If you are done with this, you need to register your subdomain, in the Window’s hosts file. This can be found in C:/Windows/System32/drivers/etc. Create a backup of the hosts file then open it with your favorite text editor and add the following lines at the bottom:
127.0.0.1 localhost
127.0.0.1 sub.localhost.com
Note: Windows 7 or Windows 8 doesn’t allow you to edit that file, to edit that file first copy it to another location say Desktop then edit it in your favorite editor, and then paste (replace) the edited file in the etc folder.
This will create a sub.localhost.com domain. If you are done with this and you are 100% sure you did everything right, restart your Apache using the control panel of XAMPP (stop/start). After you restart the Apache, you should be able to access your new subdomain.
If your XAMPP freezes when you want to restart the Apache, make sure that you are not using any HTTP:// or / on the end of the domain you wish to create a directory for. If you have any other questions regarding to this topic, feel free to ask in the comments below.
Tushar
Wow I love it. This will be more fun to create a subdomain on a localhost and work with it. Is there any way to create a subdomain in wampp.
Andor Nagy
Hi. I’m sure it is possible. Through I never used WAMP, but as I read it’s the same as on XAMPP.
Regards,
Andor Nagy
Sai Kumar
Hi Andor Nagy, Awesome tutorial to create a sub domain using Xampp. I will surely try out to create one sub domain in localhost. Thanks for Sharing!!
Sadek
Nice tips, can I do the same with WAMP ??
it’s slightly different from XAMPP
Rajesh Namase
Andor already said that, you can use same method on WAMP too, if you’re facing any problems on WAMP let us know.
Emily
It is good news that I can use the same method on WAMP! :) I’ll try it as soon as possible and will put it to my list to do (’cause I can forget).
ansh
thnks for the help mate. . . it will be beneficial to create subdomain on localhost and then develop something.. :)
Parmar
Thanks bro for this working tutorial, I was always wondering how the people get subdomain for their website, now I can also get one for my site! Thanks again!
Andor Nagy
Hi, I’m glad it helped you! Note if you have a premium domain name, you need to create the subdomain at the service where you’ve both the domain and redirect it to your IP via the DNS manager.
Regards,
Andor Nagy
Mohsin Shakeel
Well this tutorial is certainly interesting for me Rajesh Namase. BTW which theme you are using on this blog.
Rajesh Namase
LOL Article is written by Andor Nagi :D We’re using custom Genesis child theme.
yogesh
This articles is very helpful to me but I want to know about something new technology like Joomla etc. Please Write some articles on that.
Aliakbar Fakhri
Great Tip,
just wanna know can I use the same method with Wamp???
Bhavik
Thanks for this article..
This article really helpful to people but how to create sub domain in wamp server ??
sridahr
this is great tutoail but when ever i am adding this
NameVirtualHost *:80
DocumentRoot “D:/xampp/htdocs”
ServerName localhost
DocumentRoot “D:/xampp/htdocs/subdomain”
ServerName subdomain.localhost.com
My xammp server is not sratring
Hiren Rajput
Hi this is really great tutorial on how to create sub domain using xampp. Never think so that a sub domain can be made in localhost. Now I know the secrets and will also try it.
michael
hi, how do I do this on an actual website?
Donald
I’m wondering the same thing. For me it redirects ALL the traffic to the subdomain now.
Kyle E.
Very nice tutorial, now after doing so of making sub.localhost.com is there away to make it be able to use for others like testdomain.tk? I used the httpd-vhosts.conf before setting up multiple folders so I can have more than just one folder htdocs hold so much. Is there away I can make the sub.localhost.com go into sub.testdomain.com?