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

WordPressで作成したWebページのアドレスを下記のアドレスから

 https://www.leafwindow.com/wordpress-05

下記のアドレスに変更した際のメモになります。

 https://www.leafwindow.com
補足:
apache2の設定ファイル /etc/apache2/sites-enabled/default-ssl.conf でWebページのDocumentRootを下記のように指定しています。

DocumentRoot /var/www/html

WordPressのインストール先は下記のディレクトリのまま、WordPressのダッシュボードからサイトアドレス(URL)を変更し、Webページのアドレスを変更しました。

/var/www/html/wordpress-05
補足2:
私の環境ではSite Kit by GoogleとSiteGuard WP Pluginを使用しており、サイトアドレス(URL)の変更前にこれらのプラグインをDeactivateさせ、変更後にActivateさせました。
サイトアドレス(URL)変更後にSite Kit by GoogleをActivateさせた際、Site Kit by Google利用の手続きを再度行いました。
補足3:
多言語用のプラグインPolylangとPolylang Connect for Elementorを使用しているのですが、サイトアドレス(URL)変更後、Webページの一部(日本語トップページと英語版トップページ)が期待通りのアドレスとならず、リンク切れとなってしまいました。PolylangとPolylang Connect for Elementorを一度削除し、再インストールして設定し直したところ、期待通りのアドレスになりました。

1. 下の図のようにWordPressのダッシュボードからプラグイン(Plugins)を選択し、Site Kit by Google、SiteGuard WP Plugin等、サイトアドレスを変更する際に停止させておいたほうが良いプラグインをDeactivateさせます。

2. 下の図のようにWordPressのダッシュボードから設定(Settings)、一般(General)を開き、サイトアドレス(Site Address)を”https://www.leafwindow.com/wordpress-05″から”https://www.leafwindow.com”に変更します。WordPressアドレスは”https://www.leafwindow.com/wordpress-05″のままです。

サイトアドレス(Site Address)を変更したら、Save Changesボタンをクリックして変更を保存します。

3. /var/www/html/wordpress-05にあるindex.phpを変更します。

変更前:

require __DIR__ . '/wp-blog-header.php';

変更後:

require __DIR__ . '/wordpress-05/wp-blog-header.php';

4. 変更したindex.phpを/var/www/htmlにコピーし、ファイルの所有者を変更します。

sudo cp /var/www/html/wordpress-05/index.php /var/www/html
sudo chown www-data:www-data /var/www/html/index.php

5. WordPressのダッシュボードからプラグイン(Plugins)を選択し、Site Kit by Google、SiteGuard WP Plugin等、サイトアドレスを変更する前にDeactivateさせたプラグインをActivateさせます。サイトアドレス変更後にSite Kit by GoogleをActivateさせる際、Site Kit by Google利用の手続きを再度行う必要があります (利用許諾等に関する記載を読み、Webページ上で幾つかのボタンをクリックするだけです)。

6. /var/www/html/wordpress-05/.htaccessファイルを下記のように書き換えます。ここでlogin_12345はSiteGuard WP Pluginが生成したログインページのアドレスで12345の部分には疑似乱数で生成された数値が入ります。

#SITEGUARD_PLUGIN_SETTINGS_START
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wordpress-05/
    RewriteRule ^wp-signup\.php 404-siteguard [L]
    RewriteRule ^wp-activate\.php 404-siteguard [L]
    RewriteRule ^login_12345(.*)$ /wordpress-05/wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END

<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>

7. /var/www/html/wordpress-05/.htaccessを/var/www/htmlにコピーします。

sudo cp /var/www/html/wordpress-05/.htaccess /var/www/html
sudo chown www-data:www-data /var/www/html/.htaccess

必要に応じて/var/www/html/.htaccessの末尾に下記のように書き足します。

Satisfy any
order allow,deny
allow from all
7.までの手順の後、私の環境ではWebページの一部(日本語トップページと英語版トップページ)が期待通りのアドレスになっておらず、多言語用のプラグインPolylangとPolylang Connect for Elementorを一度削除し、再インストールしました。

プラグインの再インストール直後はリンク切れの問題が解消されたのですが、設定(Settings)、パーマリンク(Permalink)で以前から選択していた投稿名(Permalink)を選択したまま「変更を保存(Save Changes)」をクリックしたところ、Webページの一部(日本語トップページと英語版トップページ)で再度リンク切れが発生しました。

Polylangの設定を見直し、変更し直したところ、また期待通りのアドレスになり、リンク切れの問題は解消されました。

返信を残す

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

CAPTCHA