WordPressでは404を返されるケースが多々ありますが、その度にヒヤヒヤしますね〜いったい何が原因なのか?いつからこの現象なのか?疑問符が頭の中を駆け巡りますが、結局は1つ1つ根気よく潰していく方法しかありません。己との戦いを少しでも軽減するためここに備忘録を残しますが、いつも決して諦めないことがコツかなと思っています。
404を返す原因として思しきこと
ディレクトリの変更
- WordPressのインストールディレクトリとサイトアドレスを別にしている
- 公開するまでは、インストールディレクトリのURLで構築を行っていた
wp-config.php使いまわし
- WordPressのインストールディレクトリで構築を行い、サイトアドレスをルートにした後も、wp-config.phpをそのまま使っていた
このあたりが原因のようです。
【解決策】やってみたこと
まずは、思いつくことを手当たり次第でやってみる!
- パーマリンクの更新(サイトアドレスをルートにした時に数回更新していますが再度やってみる)
- ログインのし直し
- ブラウザのキャッシュ削除
- プラグインによるキャッシュ削除
- wp-config.php認証ユニークキーの更新
1〜4までは願いを込めて何回もやってみます(笑)
そして、最後の「認証ユニークキーの更新」でうまく表示されるようになった時は小さくガッツポーズ!
上記はデフォルトですが、異なるユニーク (一意) な文字列に変更します。ユニークキーは、WordPress.org の秘密鍵サービスで自動生成すると簡単です。アクセスごとにユニークキーが変わるので、その文字列をコピペします。
https://api.wordpress.org/secret-key/1.1/salt/
認証ユニークキーは、セキュリティ上も重要です。
プラグイン「Redirection」との関係
なぜか?プラグイン「Redirection」の初期設定セットアップができず、時間もなかったため、ひとまず
が、認証ユニークキーを更新したら初期設定ができるようになりRedirectionが使えるようになりました。原因が不明なままですが、恐らく因果関係があるのではないかと考えています。
総括・雑感
この案件では、デフォルト投稿のパーマリンクに任意の文字列を付加しカテゴリーベースのカスタム構造にしていることで、ページネーションのリライトルール書き換え等そこそこ込み入ったことをしているため、その周辺をまたいじることになると嫌だな〜とビクビクしましたが、シンプルな方法で直ってくれてよかったです。
思い通りのカスタム構造にしたはいいがページネーションがおかしくなることってよくあります。がそんな時に役立ったのがプラグイン「Rewrite Rules Inspector」です。「Rewrite Rules Inspector」については、また次回に。