【WordPress】URLはそのままサブディレクトリの変更でサイトリニューアル

何言ってるかわからないタイトルですが、WordPressサイトをリニューアルする際に、メインURLexample.comを変更せず、実際の中身はexample.com/newで作成する特殊なケースです。
「○○イベント Vol.10」とか「〇〇フェスティバル2020」とかそういう系ではよくあるんじゃないかと思います。
最新のイベントページはルートドメインで運用したいけど、過去の開催ページもアーカイブとして残しておきたい場合。

この記事は単体でもお読みいただけますが、とあるプロジェクトで実際に行った作業の一部となっております。

目次

URLはそのままサブディレクトリで新サイトを作成

サブディレクトリに設置したWordPressのURLを変更するの応用編です。
前回は一方通行でしたが、今回は往復です。

  1. 新しく folder-5 にWordPressをインストールし、サイトを作ります。
  2. example.com で表示する内容をfolder-4から folder-5 へ変更します。
www
  └ public_html / index.php
     ├ folder-1 / index.html    ← URL:example.com/folder-1
     ├ folder-2 / index.html    ← URL:example.com/folder-2
     ├ folder-3 / index.html    ← URL:example.com/folder-3
     ├ folder-4 / index.php     ← URL:example.com
     └ folder-5 / index.php     ← URL:example.com/folder-5
www
  └ public_html / index.php
     ├ folder-1 / index.html    ← URL:example.com/folder-1
     ├ folder-2 / index.html    ← URL:example.com/folder-2
     ├ folder-3 / index.html    ← URL:example.com/folder-3
     ├ folder-4 / index.php     ← URL:example.com/folder-4
     └ folder-5 / index.php     ← URL:example.com

旧サイトをサブディレクトリURLに戻す

現在、 https://example.com で表示される内容はfolder-4になっています。
これを本来のディレクトリ構造https://example.com/folder-4で表示するように設定します。

ここで設定変更するのは folder-4 のWordPressです。

STEP
管理画面からサイトURLを変更

設定>一般設定の「サイトアドレス(URL)」を元に戻します。

https://example.comhttps://example.com/folder-4

WordPressアドレス(URL)は変更せず、実際にインストールされているURLを記載。

https://example.com/folder-4

STEP
.htaccessファイルをコピー(上書き)する

ルートディレクトリの中にある.htaccessfolder-4にコピーします。
ルートディレクトリの中にあった.htaccessは削除しても残しておいてもどちらでも大丈夫ですが、今回は残しておきました。

※今回のパターンでは、public_htmlがルートディレクトリにあたります。

STEP
index.phpを修正する

ルートディレクトリの中 にあるindex.phpをダウンロードして編集します。

17行目辺りのrequire DIR . '/folder-4/wp-blog-header.php';から、サブディレクトリを削除します。

修正前 require DIR . '/folder-4/wp-blog-header.php';
修正後 require DIR . '/wp-blog-header.php';

修正したものfolder-4 にアップロード(上書き)します。
ルートディレクトリのindex.phpは次の手順で修正します。

STEP
アクセスして確認

以下2点が動作していれば成功!

  1. https://example.com へのアクセスが https://example.com/folder-4 へリダイレクトされる
  2. https://example.com/folder-4 へのアクセスでfolder-4のWordPressが表示される
  3. 投稿URLなどがhttps://example.com/folder-4/***に変更されている

新サイトをルートディレクトリURLに設定

続いて、 https://example.com で表示される内容をfolder-5に変更します。

ここで設定変更するのは folder-5 のWordPressです。

STEP
管理画面からサイトURLを変更

設定>一般設定の「サイトアドレス(URL)」を変更します。

https://example.com/folder-5https://example.com

WordPressアドレス(URL)は変更せず、実際にインストールされているURLを記載。

https://example.com/folder-5

STEP
.htaccessファイルをコピー(上書き)する

folder-5の中にある.htaccessをルートディレクトリにコピーします。
folder-5の中にあった.htaccessは削除しても残しておいてもどちらでも大丈夫ですが、今回は残しておきました。

※今回のパターンでは、public_htmlがルートディレクトリにあたります。

STEP
index.phpを修正する

さきほどダウンロードしたindex.phpを再度編集します。

17行目辺りのrequire DIR . '/wp-blog-header.php';へ、サブディレクトリを追記します。

修正前 require DIR . '/wp-blog-header.php';
修正後 require DIR . '/folder-5/wp-blog-header.php';

修正したものをルートディレクトリにアップロード(上書き)します。

STEP
アクセスして確認

https://example.comfolder-5のWordPressサイトが表示されれば成功!
今回、うまく表示されなかったのですがブラウザのキャッシュ削除で適用されました。

basic認証などでアクセス制限をかけていた場合、作業後に解除されることがあるため、設定を見直してください。

最終的なサイトアドレス、index.phpの記述

段階を踏んで作業しましたが、最終的な記述は以下の通りです。
うまく表示されない場合は、ブラウザのキャッシュクリアを試してみましょう。

WordPress設定

folder-4

WordPressアドレス:https://example.com/folder-4
サイトアドレス:https://example.com/folder-4

folder-5

WordPressアドレス:https://example.com/folder-5
サイトアドレス:https://example.com

index.php

public_htmlrequire DIR . '/folder-5/wp-blog-header.php';
folder-4require DIR . '/wp-blog-header.php';
folder-5require DIR . '/wp-blog-header.php';

編集画面で記事の読み込みが出来なかったり、管理バーが表示されない時は一旦ログアウト・ログインすると改善します。

ブログランキング・にほんブログ村へ
↑クリックしてもらえると励みになります!
よかったらシェアしてね!
目次