How to change my document root folder using an .htaccess file?

By default your main website is loaded from the public_html folder of your account. The public_html directory is also called web root folder or document root folder. If your would like to keep your site's files in a sub folder of the public_html, and do not want the sub folder to appear as a part of the URL to your website, you can mask the sub folder from the URL by placing the following directives in the .htaccess file inside the public_html folder:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain-name.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain-name.com$
RewriteCond %{REQUEST_URI} !folder/
RewriteRule (.*) /folder/$1 [L]

In the above lines you should replace the following:

domain-name.com - Type your own domain name
folder - Type the name of the sub-folder which has the test/development website

If there is no .htaccess file in the public_html folder you can easily create one using cPanel->File Manager. Then, type your domain name in a browser and you should see the website which is in your sub folder.

You find this article useful? Click here to learn more about SiteGround web hosting experts and what else we can do for you!