wordpress

URLに/wp/が!WordPressの階層をドメイン直下のルートディレクトリに上げる方法。

そんなハズではなかったのに、URLに/wp/が付いてしまって、せっかく取った独自ドメイン直下のページはこの有り様。

手順その1:まずはWordPressのダッシュボードからの設定変更

WordPressのダッシュボード画面から、設定 > 一般へ。
「あ、一般的な設定なんだ……」と思いつつ、

ここのwpを消して、https://ponsyon.com/にして「変更を保存」。

WordPress初心者のときは、これだけして「やっぱり非表示!できない!WordPressこわい!」となってしまっていましたが、まだ必要な手順がありました。

手順その2:FTPから.htaccess、index.phpをいじる

一言で.htaccessindex.phpと言ってもあちこちにあるんですが、ここでは/wp/直下の.htaccessindex.phpをいじります。

WordPressをインストールしたときの設定で/wp/ではなく/wordpress/になってたりします。

お使いのFTPソフトでダウンロードして、index.phpをエディタで編集します。

ここでは17行目にあるrequire( dirname( __FILE__ ) . '/wp-blog-header.php' );を修正します。
'/wp-blog-header.php'の部分にダッシュボードの一般設定で削った分の階層(サブディレクトリ)をここで付け加えます。

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

保存してアップロードします。が、アップロード先は先ほどの/wp/直下ではなく、1階層目になります。

X Serverでは1階層目は/public_html/です。さくらインターネットでは任意で名前を付けることができるので(私は/yanagi/という階層名にしています。安易ですね)/wp/の上の階層のことです。

MacのFinder上で.htaccessのファイルが表示されないときは

Macでは.htaccessは不可視ファイルといって、デフォルトでは見えないようになっています。
ショートカットキーShift+command+.(ピリオド)を押すと、薄くですが表示されるようになります。もう一度同じショートカットキーを押すと、非表示に戻ります。
基本的にFTPソフト内でコピー→該当階層でペーストでいいと思います。

修正したindex.phpと、先ほどセットでダウンロードした.htaccessを一緒に1階層目へアップロードします。
これでドメイン直下にアクセスでTOPページが表示されるようになりました。

X-Serverの場合、「まだここには何もアップされてないぜ〜〜」というindex.htmlが置かれていたりします。不要になったら削除しましょう。

手順その3:再度WordPressのダッシュボードからの設定変更

パーマリンク設定

TOPページが表示されたんだからもう終わったじゃないかと思いきや、変更を加えたことで「パーマリンク設定」がなぜか初期化されてしまい、表示されないページが出てきます。ええ〜〜って感じですね。あともう一歩!

WordPressのダッシュボード画面から、設定 > パーマリンク設定で元の設定と同じか確認して(設定が違ってたら戻して)「変更を保存」をクリックすることで、パーマリンク構造を更新できます。

ヘッダーメニューでカスタムリンクを設定している場合など、/wp/が残ったままなので自力で修正しましょう。
一通りサイト内リンクをクリックして確認します。

表示設定

これはうっかり/wp/が付いてしまったのではなく、開発環境としてわざと/wp/を残していた場合です。
開発時は設定 > 表示設定から「検索エンジンでの表示:検索エンジンがサイトをインデックスしないようにする」をチェックしてロボット避けをしている方も多いのではないでしょうか。
その場合、このチェックを外し忘れることがありますのでお気をつけて!

自分用メモ:Basic認証を外すのも忘れない。

おまけ:階層が変わってもリンク修正せずに済むには

ページリンクで絶対パスやルート相対パスで記述していた場合、 /wp/を上げるとそのリンクを全部修正する・そして全部確認し直す必要が出てきます。
テンプレートタグを使ってリンクを記述することで、その労力をかけずに済みます。以下の記事にまとめています。