WordPressのインストールをドメイン直下(ルートディレクトリ)ではなく、サブディレクトリにインストールして、サイトURLで表示させる方法を紹介します。
WordPressのインストール先URLの設定
WordPressをサブディレクトリにインストールするには、インストール先URLをドメイン名の後にサブディレクトリ名を指定します。
例えば、http://abcxyz.com/ 内の「wordpress」というディレクトリにインストールする場合には、インストール先URLは次のように設定します。
・http://abcxyz.com/wordpess
※ディレクトリ名は「wordpress」や「wp」など、WordPressが保存されていると推測されやすい名前は使わないようにしましょう。推測されやすい名前は、セキュリティ上好ましくなく、攻撃されやすくなります。
インストール先URLに設定したサブディレクトリにWordPressをインストールします。
インストールが完了したら、WordPressの管理画面での設定を行います。
WordPressのサイトアドレス(URL)の設定
WordPressにログインして、ダッシュボード → 設定 →「一般」を選択しクリックします。
一般設定画面が表示されます。
サイトアドレス(URL)を以下のように変更します。
変更前:http://abcxyz.com/wordpress
↓
変更後:http://abcxyz.com/
変更が終了したら「変更を保存」ボタンをクリックして、設定を保存します。
index.phpと.htaccessの設定
「index.php」の内容を修正して、上記で設定したサイトアドレス(URL)に表示されるようにします。
WordPressをインストールしたサブディレクトリ「wordpress」の中にある「index.php」と「.htaccess」ファイルを自分のパソコンにダウンロードします。
※「.htaccess」ファイルが存在しない場合は、「index.php」のみダウンロードします。
index.phpの修正と設定
ダウンロードした「index.php」ファイルをphpファイルが開けるソフトウェアか、テキストエディタで開きます。
「index.php」ファイルをエディタで開くと以下のようになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?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( dirname( __FILE__ ) . '/wp-blog-header.php' ); |
index.phpの17行目を次のように変更します。
require( dirname( __FILE__ ) . '/wp-blog-header.php' )
↓
・変更後:
require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' )
※ WordPressをインストールしたディレクト名「wordpress」を挿入します。
変更が終了したら、保存します。
変更が完了した「index.php」ファイルをドメイン直下(ルートディレクトリ)にアップロードします。
↓
.htaccessの設定
「.htaccess」ファイルが存在する場合に、この作業を行います。
ダウンロードした「.htaccess」ファイルをドメイン直下(ルートディレクトリ)にアップロードします。
ドメイン直下(ルートディレクトリ)に「.htaccess」ファイルが既に作成されている場合は、上書きOKです。
↓
パーマリンクを設定している場合、
WordPressにログインして、ダッシュボード → 設定 →「パーマリンク設定」を開いて、パーマリンク構造を更新します。
「.htaccess」に適切なパーミッションを設定してあれば、WordPress が自動で「.htaccess」を更新します。
〇「.htaccess」ファイルを手動で変更する場合は以下の通りです。
変更前
1 2 3 4 5 6 7 8 9 10 11 |
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L] </IfModule> # END WordPress |
変更後
1 2 3 4 5 6 7 8 9 10 11 |
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress |
4行目と8行目からディレクト名「wordpress」を削除します。
8行目:RewriteRule . /wordpress/index.php [L] → RewriteRule . /index.php [L]
サイトの確認
上記の設定が完了したら、サイトアドレス(URL)にアクセスして、サイトが表示されることを確認します。
サイトが正しく表示されたら設定は完了です。
サブディレクトリにインストールするメリット
・ルートディレクトリがスッキリします
WordPressをインストールすると20数個のファイルとフォルダが配置されます。
ドメイン直下(ルートディレクトリ)にWordPress以外のファイルも設置している場合は、ルートディレクトリの中がごちゃごちゃになってしまい、管理がしづらくなってしまいます。
WordPressをサブディレクトリにインストールすることで、ルートディレクトリの中はスッキリして管理やメンテナンスもしやすくなります。
・セキュリティが高まる
WordPressを構成しているファイルがルートディレクトリにあるということは、攻撃をされやすくなることになります。
攻撃する側は、WordPressの構成ファイルがルードディレクトリにインストールされていると想定して攻撃をしてきます。
サブディレクトリにインストールすることで、攻撃を受けにくくなり比較的セキュリティが高まります。
また、WordPressをインストールするフォルダ名は「wp」や「WordPress」など、ワードプレスが保存されていると推測しやすいようなフォルダ名は使わない方がよいです。
ディレクトリ名は、WordPressとは関係のない適当な名前にするようにしましょう。
まとめ
私はルートディレクトリがすっきりしているのが好きなので、サブディレクトリにインストールするようにしています。
慣れるまでは少し面倒ですが、慣れてしまえば、簡単に設定できます。
セキュリティリスク面から見ても、WordPressはサブディレクトリにインストールすることをおすすめします。