サブディレクトリで作成したWordPressを初期ドメインで表示
このブログは、さくらインターネットを使っていてサブディレクトリ(初期ドメインに/wpなどをつけたURL)で作成したWordPressを初期ドメインで表示させる方法を解説します。
さくらインターネットでレンタルサーバの契約してるけど、「初期ドメインでWordPressを表示させたい」「アドレスについているwpを取りたい」「サブディレクトリで作成したホームページを初期ドメインで表示したい」
と悩みを抱えていませんか?
私も仕事でこの内容を受けて苦労しましたが、できるようになったので大丈夫です。
私の受けた仕事とは
サブディレクトリに作成したWordPressのホームページを初期ドメインで表示させたい。という仕事です。
はじめは初期ドメインでWordPressをインストールして、作ったホームページをインポートすればいいのかと単純に思っていました。しかし、ネットで検索した所、初期ドメインにはWordPressはインストールできないとの事。えーっ!と思い、さくらインターネットのサポートで確認しましたが初期ドメインにはWordPressはインストールできないと言われました。
ネットで検索したところ、サブディレクトリに作成したWordPressを初期ドメインで表示する事はできる。という事!
これしかないと思い検索しながらやったけど上手くいかず‥どうしよう?と思ったけど、色々な角度から検索を続けた結果やっとできました。
そんな難しい作業はできないよ。という方にも大丈夫。私もパソコンは全く詳しくありません。
さくらインターネットのサーバコントロールパネルから作業することができます。
この記事を読むことでできること
http://example.sakura.ne.jp/wp
「wp」というサブディレクトリにWordPressを使って作成したホームページへ
http://example.sakura.ne.jp/
という初期ドメインでアクセスできるようになります。
サブディレクトリのURLを初期ドメインに変更
まずは、サイトのURLを変更します。それには、WordPressのダッシュボードにアクセスして、「設定」‐「一般」メニューを選択します。
「サイトアドレス(URL)」からサブディレクトリ名(例:wp)を削除して、「変更を保存」ボタンをクリックします。
つまり、WordPressを表示したいアドレスに変更するということです。
・現在 → http://example.sakura.ne.jp/wp
・変更後 → http://example.sakura.ne.jp/
「WordPressアドレス(URL)」はそのままです。
index.phpと.htaccessを上の階層にコピー
さくらインターネット会員用のサーバコントロールパネルを開きます。
「ファイルマネージャ」を選択します。ファイルを編集するためのツール「ファイルマネージャ」が開きます。
WordPressをインストールしたフォルダを開きます。(サブディレクトリのフォルダ)
画面右側のファイル一覧からindex.phpと.htaccessをチェックして、右クリックメニューから「指定の場所に複製」を選択します。
※.htaccessが存在しない場合、index.phpのみのコピーで大丈夫です。
コピー先のフォルダ(初期ドメインのフォルダ)を選択して「OK」ボタンをクリックします。
ndex.phpと.htaccessが、初期ドメインにコピーされます。
※上書き確認が表示される場合がありますが、あまり気にしないで大丈夫です。
初期ドメインを開いて、index.phpと.htaccessがコピーできたことを確認します。
index.phpと.htaccessの変更
index.phpを右クリックして「編集」を選択します。
最後の行に、WordPressインストール先のディレクトリ名を追加します。これは、初期ドメインからWordPressインストール先のディレクトリ(例:wp)を参照するための変更です。
・現在
require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );
・変更後
require( dirname( __FILE__ ) . ‘/wp/wp-blog-header.php’ );
※追加する文字は「/wp」です。
変更できたら、「保存」ボタンをクリックして閉じます。「保存」ボタンがクリックできない場合は、「閉じる」ボタンをクリックすると変更を破棄するか確認するメッセージが表示されるので、「いいえ」を選択(変更を破棄しない)すると「保存」ボタンをクリックできるようになります。
.htaccessを開いて編集します。変更するのは2か所で、WordPressインストール先のディレクトリ名を取り除きます(例: /wp/ を / に)。
※.htaccessが存在しない場合は、この手順は不要です。
修正前
<IfModule mod_rewrite.c>
RewriteEngine OnRewriteBase /wp/ → この行を変更
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L] → この行を変更
</IfModule>
修正後
<IfModule mod_rewrite.c>
RewriteEngine OnRewriteBase / → このように変更
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] → このように変更
</IfModule>
その他は直す必要はありません。特に、最後の行「. /index.php」の「.」と「/」の間にある空白を取り除いたりしないように注意してください。
変更後、「保存」ボタンをクリックて閉じます。
作業結果の確認
URLに初期ドメインを入力すると、サブディレクトリで作成したホームページが表示されるはずです。これで、WordPressをルートディレクトリで表示できるようになりました。
ダッシュボードはWordPressインストール先の「http://初期ドメイン/wp/wp-admin」のままなので注意してください。ここでいう、http://example.sakura.ne.jp/wp/wp-admin。
昔のホームページ(index.html)を読み込んでいる時の対処法
私はこれをやってもダメでした。初期ドメインを入力すると、まだ昔のホームページが表示されます。どうしよう??(TT)
昔のホームページ(index.html)を読み込んでいました。
そこやってみたのがこの方法。
index.html、index.phpの読み込み順を変更
.htaccessを編集
DirectoryIndex index.php index.htmlという1行を追加するだけです。
これにより、index.phpを優先的に探しに行くようになります。※もしindex.phpが無ければ、index.htmlを探します。
何とかさくらインターネットの初期ドメインでサブディレクトリにあるWordPressのホームページを表示する事ができました。
今回の記事が皆さんのお役に立てることができれば幸いです。
独自ドメインの取得をするとWordPressのインストールもできますし、「SEO対策としてすぐれている」「独自のあどれすがつくれるので、ブランド力のアップや信用度のアップ」などのメリットもあるのでこれを機にお名前.comで取得してみても良いかもしれませんね。
ツィッターでプログラミングや育児に関する発信もしていますので是非のぞいてみてください。