Sometimes you wish to install WordPress in root (wwwroot/public_html) directory, but you do want to filled up the root directory with WordPress files and folders. In this situation, you can give WordPress website it’s own directory so that WordPress will be installed in subdirectory, but your website will be served from the root folder.
In more simple words, install WordPress in example.com/mywebsite directory and still you can access your website with URL http://mywebsite.com. Let’s see how we can achieve this.
- First create folder where you want to install WordPress. In this tutorial, we will use /mywebsite.
- Now, at WordPress dashboard, navigate to Settings >> General Settings.
- In the box WordPress address (URL), change the address to new location of your main WordPress core files. For example: http://example.com/mywebsite.
- In the box Site address (URL), change the address to the root directory URL. For example: http://example.com and click on Save Changes.
- Move your WordPress core files to the new location (/mywebsite folder).
- Now COPY (DO NOT MOVE) index.php and .htaccess files from /mywebsite folder to root directory, i.e. wwwroot/public_html.
- By default, .htaccess file would be invisible. Hence, set FTP client to show hidden files. If you are using cPanel file manager, check the show hidden files checkbox while you access file manager. Additionally, if you do not use pretty permalinks, then you may not have a .htaccess file.
If you are running WordPress on a Windows (IIS) server, you will have web.config rather than .htaccess file. For index.php file, instructions remain the same, COPY (DO NOT MOVE) the index.php file to your root directory. For web.config file, MOVE (DON'T COPY -- exact reverse to .htaccess) it to your root directory.
- Now, open root directory's index.php file in a text editor. Replace line
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
with following line, placing your subdirectory name as follows.
require( dirname( __FILE__ ) . '/mywebsite/wp-blog-header.php' );
- Browse and login to new WordPress dashboard. http://example.com/mywebsite/wp-admin/
- If you have set up Permalinks, update the Permalink structure. At WordPress dashboard, navigate to Settings >> Permalinks Settings, check the checkbox of permalinks setting you set previously and save the changes.