私は意外とよく使うのですがwordpressの既存のサブディレクトリをルートディレクトリに表示する方法をご紹介します。

1.wordpressの管理画面でURLを変更

一般設定の「サイトアドレス(URL)」から、WordPressディレクトリを削除し、「変更を保存」します。

2.サーバー側の設定

サブディレクトリ(wordpressの一番上の階層)のindex.phpに追記
index.phpの最下部の下記の表記を

require( dirname( __FILE__ ) . '/wp-blog-header.php' );

以下のように変更し保存します。

require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );

最後にindex.php.htaccess(index.phpと同じ階層にある)をドメイン直下にコピーします。

※パーマリンク設定をしていない場合は、.htaccessはないのでindex.phpだけでOKです。

.htaccessについて補足

.htaccessはサブディレクトリの/wp/にあるので下記のように、4行目の/wpと8行目の/wpとなっているはずです。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>

# END WordPress

ほとんどのサーバーではこの設定で問題ないのですが、サーバーの設定によっては表示されない場合があるので、 その場合は4行目の/wpと8行目の/wpを削除して下記のようにしてみてください。

# 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

ちなみに、CPIのサーバーは修正しないと表示されませんでした。

参考サイト

次の記事 前の記事