サブディレクトリにインストールしたWordPressをルートで表示する

2022-08-25

WordPressをインストールする際、ルートディレクトリにインストールすることが多いと思います。
ほとんどの場合、この方法で問題ないと思いますが、ルートディレクトリにWordPressのファイルが広がるため、サブディレクトリにECサイトや別システムを構築したい場合など、非常に見づらくなります。
また、単純にルートディレクトリがゴチャつくのが嫌!という方も結構いらっしゃるんじゃないでしょうか?

この記事では、サブディレクトリにインストールしたWordPressとルートドメインで表示できるようにする設定をご紹介します。

やりたいこと

サブディレクトリ(root\wp)にインストールしたWordPressをルートドメイン(https://example.com)で表示できるようにしたい。

ドメイン:example.com
インストールディレクトリ:root\wp

上記の場合、「https://example.com/wp」にアクセスすることでサイトが表示される。
これを「https://example.com」にアクセスして表示されるようにする。

手順

サブディレクトリへインストール

レンタルサーバーの簡易インストールなどを使いWordPressをサブディレクトリにインストールする。

サイトアドレスを変更

WordPressのダッシュボードの「設定 > 一般」から『サイトアドレス(URL)』をサブディレクトリなしに変更する。

https://example.com/wp → https://example.com

※ 『WordPress アドレス(URL)』は変更しない。

ルートディレクトリへファイルの設置

インストールディレクトリ(root\wp)内の「.htaccess」ファイルと「index.php」ファイルをコピーし、ルートディレクトリへ設置する。

※ 移動ではなくコピー

ルートディレクトリに設置したファイルの修正

ルートディレクトリに設置した「index.php」ファイルにサブディレクトリを追記する。

require __DIR__ . ‘/wp-blog-header.php’; → require __DIR__ . ‘/wp/wp-blog-header.php’;

<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
 
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );
 
/** Loads the WordPress Environment and Template */
// require __DIR__ . '/wp-blog-header.php';
require __DIR__ . '/wp/wp-blog-header.php';

パーマリンクを更新

WordPressのダッシュボードの「設定 > パーマリンク」を開き、そのまま保存する。

参考にしたサイト