Contact Form 7で.ai形式のファイルを添付可能にする方法
Blogブログ
#WordPress
WordPressで下層ページが「404エラーが発生する」問題の解決方法
広告
WordPressを使っていると、パーマリンク設定を変更した際に投稿ページや固定ページで「404エラー」が発生することがあります。私が実際に経験した問題の原因と解決方法を共有します。同じようなエラーで悩んでいる方の助けになれば幸いです。
問題の発生:パーマリンクをカスタマイズすると404エラーに
ConoHa WINGのサーバーでWordPressを制作しているときのことです。デフォルトのパーマリンク(?p=123)では正常に動作するのに、カスタムパーマリンク(/%category%/%postname%/)に変更すると、すべての投稿や固定ページで「404エラー」が発生しました。
また、固定ページを更新しようとしたところ、「更新に失敗しました。 返答が正しい JSON レスポンスではありません。」のエラーが発生し、保存することができなくなってしまいました。
「.htaccess」やサーバー設定の問題かと思い、いろいろ試しましたがなかなか解決しませんでした。
試した解決策
この問題を解消するため、以下の方法を試しました。
- パーマリンク設定のリセット
- プラグインの無効化
- WordPressコアファイルの再インストール
- サーバーキャッシュのクリア
- .htaccess の確認と修正
原因の特定:.htaccessに残った「HTTP Auth」の記述
問題をさらに深掘りするために .htaccess を詳しく調査したところ、以前使っていたプラグインが残した「HTTP Auth」の記述が原因であることが判明しました。
以下のような記述が .htaccess に残っていました
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/.htpasswd
Require valid-user
この設定が有効な状態では、REST API やカスタムパーマリンクが正常に機能せず、結果として「404エラー」が発生していたのです。
解決方法:不要な記述を削除する
.htaccess から上記の「HTTP Auth」に関する記述を削除したところ、すべてのページが正常に表示されるようになりました。また、カスタムパーマリンクも問題なく動作することを確認できました。
まとめ
WordPressで「404エラー」に悩んでいる場合、以下のポイントを確認すると解決への近道になります。
- .htaccess ファイルの確認
カスタムパーマリンクが動作しない場合、.htaccess ファイルが適切に設定されているかを確認してください。不要な記述がエラーの原因になることがあります。 - サイトヘルスツールの活用
WordPress の「ツール > サイトヘルス」を活用することで、現在のサイト状態を確認し、問題のヒントを得られる場合があります。特に REST API やパーマリンクに関する警告が出ている場合は、それに従って対応してください。 - エラーログの確認
サーバーのエラーログを確認することで、問題の特定がスムーズになります。ConoHa WING の管理画面からログを確認できる場合が多いので、エラーが発生したタイミングでチェックしましょう。 - 不要な設定やプラグインの整理
プラグインを削除した後に不要な .htaccess 記述が残っている場合、問題を引き起こすことがあります。定期的に .htaccess を見直すことをおすすめします。 - テスト環境での事前検証
本番環境で設定変更を行う前に、テスト環境で動作確認を行うと、問題発生を未然に防げます。