WordPress

WordPressインストールディレクトリを公開URLに表示させない方法

今回は、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を提供し、ユーザーエクスペリエンスを向上させることができます。また、サイトのセキュリティ面でも多少の向上が期待できますので、ぜひ活用してください。

 
※流用される場合は自己責任でお願いします。