【WordPress】サブディレクトリにおいたWordPressをルートに設定する

ネットに出回っている WordPress の設定ではダウンロードしてきた wordpress フォルダをそのまま公開フォルダにアップロードして https://example.com/wordpress/ としてアクセスするタイプのものが多いと思います。
今回はその設定を https://example.com/ で表示できるように変更します。難しくはないですが、アクセスできなくなってしまうと困るのでサイト設置後すぐに行うと良いと思います。

(もしかするとルートで表示するために wordpress フォルダの中身を公開ディレクトリに直接展開して使用されている方がいるかもしれません。その場合はファイルがごちゃごちゃして見づらく、メンテナンス性が著しく低下するのでサブディレクトリにまとめた上で ここで紹介する方法でルートへ変更する方が良いと思います。)

2通りの変更方法

wordpress のサポートサイトに記載されている方法は2通りあります。
参考: Giving WordPress Its Own Directory – WordPress.org (英語サイトです)

方法1(Method Ⅰ)では URL の変更なしにサイトへ訪問してきた人を wordpress を設置したサブディレクトリへリダイレクトする方法が記載されています。

方法2(Method Ⅱ)では URL を wordpress の管理画面からサイトアドレスを変更する方法が記載されています。

どちらも一長一短なのですが、後々のことを考えると方法2の方が間違いが起こりにくいと思います。というのも、方法1ではルートの設定を変更しているので別のページを表示することになった際などに URL が変になってしまう可能性があります。

例えば wordpress のサブディレクトリが wp だとして、新たに sample.html というページをルートにおいた場合記載されている通りの設定のまま
https://example.com/sample.html の URL にアクセスすると https://example.com/wp/sample.html へリダイレクトされてしまって「そんなページは存在しません」というエラーになります。

方法2: サイト URL を変更する方法

ですので、今回は方法2に記載されている方法を紹介します。
全体の流れとしては「管理画面で URL を変更して、変更先へアクセスがきた時に読み込むべきファイルを教えてあげる。」というだけです。

ステップ1:管理画面の設定

wordpress の管理画面にある「設定」-> 「一般」に移動します。
(必要なら)「WordPress アドレス (URL)」を実際に wordpress がある URL に変更します。が、通常この設定は最初から行われているので不要です。
続いて「サイトアドレス(URL)」をルート(https://example.com/wp を https://example.com )もしくは設定したい URL に変更します。

ステップ2:2つのファイルのコピー(複製)と移動

wordpress フォルダの中にある index.php と .htaccess ファイルをコピーしてルート(もしくは変更先)に配置します。移動するファイルはコピー(複製)したファイルです

もしも複製して名前に _copy などがついてしまっていたら移動後に _copy を削除して正しい名前に修正します。

ステップ3:移動した index.php の中身を書き換える

複製してルートへ配置した index.php を開いて以下のように修正します。

この設定はルートにアクセスがきた場合に wordpress の最初に読み込むファイル(wp-blog-header.php)の場所を教えてあげるための処理です。コピー元となった wordpress ディレクトリの中にある index.php はそのままで良いのですが、ルートに複製したファイルでは同様のファイルを参照する場合、wordpress ディレクトリの分 場所が変わってますよね。その設定です。

これで URL の変更処理は終了です。以降は該当する人のみ必要な処理です。

パーマリンクの設定変更

もしも既に wordpress サイトを運用されていてパーマリンクを使っていた場合は管理画面の「設定」-> 「パーマリンク設定」を開いて「変更を保存」します。こうすることでステップ1で設定した変更後の URL に変更されます。

移行後に権限エラーが出る場合

以下のようなエラーが出た場合は「ログインしているユーザーが正しいか」を確認してください。

エラー画像: もっと高いレベルの権限が必要です。このサイトをカスタマイズする権限がありません。

管理者であるにもかかわらずこのエラーが出た場合は権限周りで何かしらの問題が発生している可能性があります。この問題は調べてみると色々な場面で遭遇する方がいるようなのですが、権限を設定し直してあげることで解決します。

管理画面の「ユーザー」にて対象のユーザー名を選択して「権限グループを変更…」から「管理者」を選択して「適用」します。これで再度エラーの出たページへアクセスすると直っているはずです。