サーバーにWordPressをインストールするときに、フォルダ(サブディレクトリ)を指定してインストールできます。
WordPressはインストールすると、20弱のフォルダやプログラムができます。
インストール先にサブフォルダを指定すればWordPress関連のファイルをまとめることができ、ルート直下が散らからずにすむのがメリットです。
ただ、インストール先のフォルダを設定すると、そのままではサイトのURLも〇〇〇.com/フォルダ名/になります。
ここで、サイトのURLを〇〇〇.comとするには、一手間必要です。
今回の記事は
サイトのURL→〇〇〇.com
インストール先→〇〇〇.com/フォルダ名/
と、設定するための手順を解説します。
公式リファレンスで解説されている内容を、エックスサーバー
1. 一般設定からサイトアドレスを修正
ここでは、wordpressというフォルダにインストールをしたと仮定して解説していきます。
WordPressの管理画面にログインし、一般設定からサイトアドレスを変更します。
WordPressアドレス(URL)→〇〇〇.com/wordpress/
サイトアドレス(URL)→〇〇〇.com
間違えてWordPressアドレス(URL)を変更すると、管理画面にアクセスできなくなりますので、注意してください。汗
間違えてWordPressアドレス(URL)を変更して、管理画面にアクセスできなくなった場合の対処法(トラブルシューティング)
はい、経験アリです^^;
この場合は、データベースを修正する必要があります。
エックスサーバーの場合、サーバーパネル>データベース>phpmyadminから操作できます。
データベースにアクセスするためには、MySQLユーザー名とMySQLパスワードが必要になります。
サーバーパネル>WordPress簡易インストール>ドメイン名を選択します。
インストール済みWordPress一覧からMySQLユーザー名とMySQLパスワードを確認しましょう。
左メニューからWordPressで使用しているデータベース>wp_optionsを選択します。
※テーブル名の接頭辞(wp_の部分)は設定によって変わります。wp_config.phpのファイルで接頭辞を確認できます。
/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = '接頭辞';
optionsテーブルに管理画面の一般設定の内容が保存されています。
「siteurl」の「option_value」→WordPressアドレス(URL)
「home」の「option_value」→サイトアドレス(URL)
編集ボタンから項目を修正します。option_valueを修正して、実行ボタンをおします。
②サブディレクトリからindex.phpと.htacessを複製して、ルート直下に入れる
FTPソフト内で、サーバー内のファイルにアクセスします。
〇〇〇.com/wordpress/内にある「index.php」をルート直下に複製します。
※移動ではなく、ファイル複製します。サブディレクトリ内にも同じファイルが残ったままの状態になります。
〇〇〇.com/wordpress/内にある「.htaccess」もルート直下に複製します。
ただし、パーマリンクの設定によってはwordpress内にそもそも「.htaccess」が存在しないこともあるようです。その場合は複製しなくてOKです。
また、すでにルート直下に「.htacess」ファイルがある場合は、複製せず、あとで内容を確認するだけでOKです。
③ルート直下のファイルを編集
ルート直下のindex.phpの書き換え
ルート直下に複製した、「index.php」を書き換えます。
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
17行目を下記に変更します。
require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );
※「wordpress」の部分は、インストールしたディレクトリ名に適宜置き換えてください。
ルート直下の「.htaccess」の修正
.htacessファイルを開いて、#BEGIN WordPress〜#END WordPressの中を下記のようになっているか確認してください。
# 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
ルート直下の不要なファイルを削除
もし、ルート直下にindex.htmlがあった場合には、index.htmlは削除してください。
最終的なファイル構成は下記のようになりました。
ルート直下にインストールされたwordpressをサブディレクトリに移動する
WordPressファイル群を一式サブディレクトリにほうりこみます。