こんにちは。ここぽてとです。今回は、サブディレクトリのWordPressをメインドメイン(上階層)で表示させる方法を書いていきたいと思います。WordPressをメインドメインにするつもりが、間違えてサブディレクトリから作ってしまった方や、「サブディレクトリからだと、Google AdSenseに申し込めないのでメインドメインに移動させたい!」という方にも役立つ内容です。
ちなみに私の使用している環境や条件は、
- Mac OS
- サーバーはXserver
- FTPソフト(FileZilla)
- Visual Studio Code(コードエディタ)
なので、これらを使って進めていきます。
サブディレクトリのWordPressをメインドメインへの引越し方法
WordPressの設定画面からURLを変更
最初にWordPressの管理画面の設定からURLを変更します。
WordPressアドレス(URL)にはサブディレクトリのURLを書き、サイトアドレス(URL)には実際に表示させたいメインドメインのURLを書きます。
FTPソフトからWordPressを開き.htaccessとindex.phpをコピー
次にFTPソフト(ここではFileZilla)を開いて、サブディレクトリのフォルダ(WordPress本体)を開きます。
.htaccessとindex.phpをデスクトップへドラッグ&ドロップしてコピーをします。恐らくデスクトップ上では、.htaccessは隠しファイルで見えないので、ショートカットキー[command]+[shift]+[.(ドット)](Macの場合)を押すと見えるようになります。
デスクトップ上にコピーできたらVisual Studio Codeで編集します。
コピーした.htaccessとindex.phpをVisal Studio Codeで編集
.htaccess→4行目と8行目のサブディレクトリのフォルダ名を消去
編集前↓
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sub/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /sub/index.php [L]
</IfModule>
# 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.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-blog-header.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( dirname( __FILE__ ) . '/sub/wp-blog-header.php' );
デスクトップ上で編集できたら、FTPソフトを開いて、デスクトップ上の.htaccessとindex.phpをサブディレクトリと同じ階層のところへアップロード(ドラッグ&ドロップ)します。
これでメインドメインのURLにサブディレクトリにあったWordPressブログが見れるようになります。
もし、エラーが出たら?
コピーなどのミスでブログのログインが出来なくなったり、うまくページが表示されずにどうすることもできなくなったら、バックアップから復元するのも一つの手です。Xserverなら過去14日間分のデーターが自動的に保管されているので、WordPress本体を復元できます。
まとめ
今回は、サブディレクトリのWordPressをメインドメイン(上階層)で表示させる方法をご紹介しました。難しく見えますが、新しくドメインを作り直したりするより簡単だと思いますので、WordPressを間違えてサブディレクトリから作ってしまった方は是非お試しください。