通常WordPressをインストールする際はルートディレクトリの配下にサブディレクトリを作成することになります。そうするとサイトトップページのURLは次のようにサブディレクトリが含まれてしまいます。
例:www.sample.com/wordpress/
機能上は問題ないのですが、やはりドメインだけの表示にしたいところ。そこで次のような流れでルートディレクトリで表示できるように設定します。
1. WordPressをサブディレクトリにインストール
→ ドメイン(=ルートディレクトリ)/フォルダ名(サブディレクトリ)/
例:sample.com/wp/ など
2. WordPress管理画面にてWordPressアドレスをインストール先のディレクトリに設定
WordPressアドレス → http://ドメイン名/フォルダ名
例:http://sample.com/wp/ など
3. WordPress管理画面にてサイトアドレスをドメイン(ルートディレクトリ)に設定
サイトアドレス → http://ドメイン名
例:http://sample.com
4. WordPressがインストールされたサブディレクトリのindex.phpを下記に変更する
【index.php】(変更前)
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
【index.php】(変更後)
require( dirname( __FILE__ ) . '/インストール先フォルダ名/wp-blog-header.php' );
例:require( dirname( __FILE__ ) . ‘/wp/wp-blog-header.php’ );
5. WordPressがインストールされたサブディレクトリの.htaccessの内容が下記になっているか確認
【.htaccess】
# 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
6. WordPressがインストールされたサブディレクトリのindex.phpと.htaccessをコピーしてルートディレクトリに配置する
7. ルートディレクトリの.htaccessを下記のように変更する
【.htaccess】
# 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
8. サブディレクトリのindex.phpを下記のように元の表記に戻しておく
【index.php】
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
上記の方法で、WordPressで作成したサイトのURLがルートディレクトリで表示されるようになります。