WordPressをインストールしてアドレス設定した時に403になった話

WordPressインストールしたとき、いつもどこかでつまづきます。
今回はWordPressの管理画面、一般設定で「WordPress アドレス (URL)」、「サイトアドレス (URL)」を設定して、サイトアドレスにアクセスしたら403になったときの解決までのお話です。

ディレクトリ構造

下記のようにインストールしました。

/    ←ルートディレクト
┗wp
 ┗wp-admin
 ┗wp-content
 ┗wp-includes
 ┗index.php
  :
.htaccess

WordPressの管理画面のアドレス設定

WordPress アドレス (URL)
https://example.com/wp

サイトアドレス
https://example.com

よくする設定だと思います。
すると、サイトアドレスにアクセスすると

f:id:yokoyoko_115:20200203235320p:plain シンプルな403が出てきました。

ルートディレクトリにindex.phpを置いて解決

問題はルートディレクトリにindex.phpがないことでした。 解決法は、/wp/にあるindex.phpをルートディレクトリにコピーし、ルートディレクトリに配置したindex.php内のコードを書き換えることです。 wp-blog-header.phpのパスを変更します。

【index.php

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

ディレクトリ構造は下記のようになりました。

/
┗wp
 ┗wp-admin
 ┗wp-content
 ┗wp-includes
 ┗index.php
  :
index.php
.htaccess

なお、ルートディレクトリにある.htaccessは、WordPressインストール時に作られるようです。

.htaccess の設定

今回は特にさわらなくてもうまくいきましたが、RewriteBaseRewriteRuleについて覚えないとと思いました。
☆のちのちベーシック認証をかけようとしてつまづきました(その記事)。

パーミッションの設定

パーミッションも、できるだけセキュリティ高く設定したいところです。
ルートディレクトリにあるindex.php.htaccess400
/wp/wp-config.php/wp/xmlrpc.php000 がよさそうです。
※未検証です。
こちらもしっかり覚えたいです。