When you create a subdomain in cPanel, you will be asked to choose the name of the subdomain, the domain the subdomain is for and the location from which the new subdomain will load it's content.
Note: Some subdomain names are reserved: mail, www, ftp, cpanel, whm, webmail, webdisk. You can use any name except these.
How do I create a subdomain?
- Log into cPanel and click on the "Subdomains" icon.
- In the "Subdomain" field, please select the name of the subdomain which you wish to use, for example, you might choose "blog". If you choose blog, then your subdomain will look like "blog.example.com".
- Next, select the desired domain you wish to create this subdomain for from the drop down menu to the right of the "Subdomain" field. You may create a subdomain for any addon, parked or subdomain that already exists in your cPanel.
- When you click on the "Document Root" field, it should automatically populate with a cPanel suggested location from which the subdomain will load it's content. For instance, if you chose "blog" as your new subdomain, then the "Document Root" field will populate with "/public_html/blog". This means that the new subdomain will load it's content from the folder named "blog" from within the "public_html" directory.
- Once all three fields are set the way you prefer, simply click on the "Create" button to complete the creation of your new subdomain.
If you have addon or parked domains that you wish to have the same subdomain name for, but wish for those subdomains to load different content, then you must pay close attention to the "Document Root" field. For example, if you own several domains and wish to have a different blog set up for each domain that loads from the subdomain name blog, then you will have change the "Document Root" of each domain that you set up. This is very important because if you create blog.hostgator.com and blog.seohosting.com on the same cPanel, but leave the "Document Root" as the cPanel suggested location, then both of your blog subdomains will load from the same directory of "/public_html/blog" and you will not have separate content for each subdomain.
To avoid experiencing this issue, when you create your new subdomain, make sure you set the "Document Root" to something other than "/public_html/blog", instead, set it to something like "/public_html/blog1". If you have done this correctly, then you will have more than one domain using "blog" as a subdomain, but both subdomains will be loading separate content.
Due to DNS propagation, the subdomain can take up to 4 hours to start working.
I set up a subdomain, however it redirects to the folder location after the domain, instead of before.
Likely, you need to remove the redirect. Check cPanel > Subdomains and make sure there is no redirection setup. Next, check cPanel > Redirects and make sure the same thing.
If you still have not solved the problem, then the redirect may be caused by rewrite code in your .htaccess file, source-code found in your page, or a URL saved in your database.