コンテンツにスキップ

WordPress をサブディレクトリにインストールしてドメインルートで動かす方法

メインイメージ

WordPress をサブディレクトリに設置してドメインルートで動かす方法について説明します。

「 WordPress をサブディレクトリに設置してドメインルートで動かす」とは?

「 WordPress をサブディレクトリに設置してドメインルートで動かす」とはここでは次のような構成で WordPress を動かすことを意味しています。

項目
WordPress のインストール先 DocumentRoot ディレクトリ/wp
WordPress サイトのホーム https://example.com

WordPress の管理画面の「設定」→「一般設定」の「 WordPress アドレス」と「サイトアドレス」がそれぞれ該当する設定項目になります。

WordPress をサブディレクトリにインストールしてドメインルートで動かす方法

具体的な方法を説明します。 以下、 WordPress サイトのホーム URL を https://example.com 、 WordPress を設置するサブディレクトリの名前を wp とします。

1. WordPress をドメインルートでインストール

WordPress のファイル一式をダウンロードして、 Apache の DocumentRoot 直下に展開します。

DocumentRoot ディレクトリ以下は次のような構成になります。

(DocumentRoot)
┣ .htaccess
┣ index.php
┣ license.txt
┣ readme.html
┣ wp-activate.php
┣ wp-admin/
┣ wp-blog-header.php
┣ wp-comments-post.php
┣ wp-config-sample.php
┣ wp-config.php
┣ wp-content/
┣ wp-cron.php
┣ wp-includes/
┣ wp-links-opml.php
┣ wp-load.php
┣ wp-login.php
┣ wp-mail.php
┣ wp-settings.php
┣ wp-signup.php
┣ wp-trackback.php
┗ xmlrpc.php

ファイルが展開できたら、利用するデータベースを用意してから WordPress サイトの URL にアクセスして WordPress のインストール手続きを行います。

2. WordPress のファイル一式をサブディレクトリに移動

インストールが完了したら、 DocumentRoot のディレクトリ直下にサブディレクトリ wp を作成して、 WordPress のファイル一式をそこに移動します。 隠しファイルとなっている .htaccess も忘れず移動してください。

移動後の DocumentRoot ディレクトリ以下は次のような構成になります。

(DocumentRoot)
┣ wp
  ┣ .htaccess
  ┣ index.php
  ┣ license.txt
  ┣ readme.html
  ┗ (以下省略)

3. DocumentRoot 直下に .htacess ファイルを設置

次の内容で .htaccess ファイルを作成して DocumentRoot のディレクトリの直下に設置します。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/wp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wp/$1
RewriteRule ^(/)?$ wp/index.php [L]
</IfModule>

WordPress のインストールディレクトリ名が wp とは異なる場合は wp の部分を実際のディレクトリ名に変更してください。

処理するドメインを指定したい場合は、次のように HTTP_HOST をチェックする RewriteCond 行を追加してください。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$
RewriteCond %{REQUEST_URI} !^/wp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wp/$1
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^(/)?$ wp/index.php [L]
</IfModule>

4. ドメインルートの WordPress サイトにアクセスして確認

ドメインルート https://example.com にアクセスして WordPress サイトを開きます。 問題なくアクセスできれば移行手続きは完了です。

なお、この方法で WordPress をサブディレクトリに移動した場合、 WordPress の「設定」→「一般設定」の設定項目の値は移行前と変わりません。

項目 値(移行前後で同じ)
WordPress アドレス (URL) https://example.com
サイトアドレス (URL) https://example.com

すでにある程度の期間運用を続けているサイトに対して作業を行う場合は、途中で問題が起こる可能性を考慮してバックアップを取ってから作業を行うようにしてください。

確認時のバージョン

  • WordPress 6.6.1

WordPress.org 関連ページ

関連ページ