Installing WordPress in a Subdirectory

In some case, you may need to install WordPress in a subdirectory (eg /subdirectory/) but have it appear as though it’s in the root.

WordPress Settings

In Settings > General
  • WordPress Address:
  • Site Address:

Add .htaccess file to subdirectory

Place standard .htaccess file in the WordPress subdirectory and edit as follows:
# BEGIN WordPress
RewriteEngine On
RewriteBase /subdirectory/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subdirectory/index.php [L]
# END WordPress

Add Additional index.php to root directory

Copy index.php from your WordPress installationa nd add to the root directory with the following changes (in bold)
define('WP_USE_THEMES', true);
require( dirname( __FILE__ ) . '/subdirectory/wp-blog-header.php' );

Don't Forget

Don’t forget to remove index.html or other files that may be causing the site in the root directory to load. You may also need a WordPress .htaccess file in the root dir.
Article published 19th March 2020
Last modified 02nd November 2023