今回は、WordPressのインストールディレクトリ(/wp/)を公開URLから非表示にする方法について詳しく説明します。通常、WordPressをサーバー上の/wp/ディレクトリにインストールすると、そのディレクトリがURLに表示されてしまいます。例えば、
- 公開URLの例: https://xxxxxx.com/wp/
- 管理画面URLの例: https://xxxxxx.com/wp/wp-login.php
このままだと、ユーザーがアクセスする際に「/wp/」が見えてしまいますが、今回は管理画面のURLをそのままにして、公開URLから「/wp/」を削除して、以下のようにする方法をご紹介します。
- 公開URLの例: https://xxxxxx.com/
これにより、WordPressがどのディレクトリにインストールされているかが隠され、URLがより洗練された形になります。
WordPress関連ファイルをWebサーバーのインストールディレクトリ(/wp/)にアップロード
まず最初に、WordPressの公式サイト(https://ja.wordpress.org/)からWordPressの関連ファイルをダウンロードし、Webサーバーの/wp/ディレクトリにアップロードします。この作業により、WordPressの全ファイルがサーバーに正しく配置されます。
アップロード後のディレクトリ構成
以下は、サーバー上にアップロードされたWordPress関連ファイルのディレクトリ構成の例です。
Webサイトルートディレクトリ
│
└──wp
│ index.php
│ license.txt
│ readme.html
│ wp-activate.php
│ wp-blog-header.php
│ wp-comments-post.php
│ wp-config-sample.php
│ wp-cron.php
│ wp-links-opml.php
│ wp-load.php
│ wp-login.php
│ wp-mail.php
│ wp-settings.php
│ wp-signup.php
│ wp-trackback.php
│ xmlrpc.php
│
├─wp-admin
├─wp-content
└─wp-includes
このディレクトリ構成の下で、次のステップに進んでいきます。
インストールディレクトリ(/wp/)に「.htaccess」ファイルをアップロード
次に、WordPressがインストールされた/wp/ディレクトリに、特定の「.htaccess」ファイルをアップロードします。以下は、その内容です
# BEGIN WordPress
<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>
# END WordPress
このファイルは、WordPressのURLリライト機能を有効にし、公開URLにインストールディレクトリ「/wp/」を表示しないようにするために必要です。
ルートディレクトリに「index.php」と「.htaccess」ファイルをアップロード
次に、Webサイトのルートディレクトリ(/)に「index.php」ファイルと「.htaccess」ファイルをアップロードします。これにより、公開URLから「/wp/」を取り除くことができます。
アップロードファイル「index.php」
ルートディレクトリにアップロードする「index.php」ファイルの内容は以下の通りです。
<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define( 'WP_USE_THEMES', true );
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp/wp-blog-header.php';
アップロードファイル「.htaccess」
続いて、ルートディレクトリにアップロードする「.htaccess」ファイルの内容は以下の通りです。
# BEGIN WordPress
<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>
# END WordPress
これらのファイルを適切に配置することで、WordPressのインストールディレクトリを公開URLから非表示にできます。
アップロード後のディレクトリ構成
以下は、ルートディレクトリに「index.php」と「.htaccess」ファイルを配置した後のディレクトリ構成の例です。
Webサイトルートディレクトリ
│
│ index.php ←ココにアップロード
│ .htaccess ←ココにアップロード
│
└──wp
│ .htaccess
│ index.php
│ license.txt
│ readme.html
│ wp-activate.php
│ wp-blog-header.php
│ wp-comments-post.php
│ wp-config-sample.php
│ wp-cron.php
│ wp-links-opml.php
│ wp-load.php
│ wp-login.php
│ wp-mail.php
│ wp-settings.php
│ wp-signup.php
│ wp-trackback.php
│ xmlrpc.php
│
├─wp-admin
├─wp-content
└─wp-includes
データベースを準備しインストールサイトにアクセスしてWordPressをインストール
以上で、WordPressファイルのサーバー上での設定は完了です。次に、データベース(ホスト名、ユーザー名、パスワード)を用意し、以下のURLにアクセスしてWordPressのインストールを行います。
- 管理画面URL: https://xxxxxx.com/wp/wp-login.php
インストールが完了したら、WordPress管理画面にログインし、「設定」→「一般」から次のようにURLを設定します。
- WordPress アドレス (URL): https://xxxxxx.com/wp
- サイトアドレス (URL): https://xxxxxx.com
まとめ
今回紹介した方法を使えば、WordPressを「/wp/」ディレクトリにインストールした場合でも、公開URLからディレクトリを隠すことが可能です。この設定により、よりクリーンでシンプルなURLを提供し、ユーザーエクスペリエンスを向上させることができます。また、サイトのセキュリティ面でも多少の向上が期待できますので、ぜひ活用してください。
※流用される場合は自己責任でお願いします。