当記事のゴール

サブディレクトリにインストールしたWordPressをドメイン直下で表示させます。

作業の公開URLhttps://example.com/wp
作業の公開URLhttps://example.com

作業行程

①WordPressの管理画面でサイトアドレスを変更する

設定 > 一般設定 内の「サイトアドレス(URL)」の /wp を削除し、[変更を保存] をクリックします。
注意:「WordPressアドレス(URL)」は変更しないで下さい。

変更前
変更後

②パーマリンク設定を保存する

設定 > パーマリンク へ移動し、何も変更せずに[変更を保存] をクリックします。
この操作で、WordPressに更新を伝えます。

③ファイルの複製

FTPで、インストールディレクトリにある index.php と .htaccess を、ルートディレクトリにコピーします。
注意:移動ではなくコピーを行います。

④コピーした index.php を編集する

ルートディレクトリにコピーした index.php を編集します。
WordPressがインストールされているサブディレクトリのパス(今回は /wp )を追加します。

インストールした環境や状況によって下の2通りのどちらかで書かれていると思います。

// __DIR__ の場合

//編集前
require __DIR__ . '/wp-blog-header.php';
↓
//編集後 ( /wpを追加 )
require __DIR__ . '/wp/wp-blog-header.php';
// ( dirname( __FILE__ ) の場合

//編集前
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
↓
//編集後 ( /wpを追加 )
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );

⑤コピーした .htaccess を編集する

RewriteBase と RewriteRule の2箇所を編集します。
index.phpと.htaccessの記述を変更することで参照先を変更しています。

# 編集前
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# ↓変更箇所
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# ↓変更箇所
RewriteRule . /wp/index.php [L]
</IfModule>
# 編集後
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# ↓変更箇所
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# ↓変更箇所
RewriteRule . /index.php [L]
</IfModule>

⑥URLが変更されたことを確認する

ドメイン直下のURLでアクセスできていたら成功です。

作業の公開URLhttps://example.com/wp
作業の公開URLhttps://example.com

おまけ

EC-CUBEでも同様の操作が可能です。
詳しくはこちらの記事をご覧ください。

【参考】
・サイト URL の変更 – サポートフォーラム – WordPress.org 日本語
https://ja.wordpress.org/support/article/changing-the-site-url/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Web制作

次の記事

display:contents;でDOMの構造を変える