しかし立ちはだかった「トップページだけ表示されない問題」
トップページだけ表示されない問題の発生
WordPressへのサイト移行作業、多くの設定を乗り越えて完了!と言いたいところだったのですが、最後に一つ、厄介なエラーが立ちはだかりました。
それは、トップページ(blog.chiinatts.comやblog.chiinatts.com/index.php)だけがどうしても表示されないという問題です!
具体的には、「Forbidden You don’t have permission to access this resource.」というアクセス拒否のエラーが出るか、あるいは画面が完全に真っ白なnothing状態になってしまうのです。
しかし、トップページ以外の各記事ページは問題なく見られるという奇妙な状況。これは一体なぜなのか、非常に困ってしまいました。
トラブルシューティングの奮闘とAIへの相談
私はまず、パーミッション(権限)の確認をしました。
ファイルとディレクトリのパーミッションは推奨されている755に設定済み。
次に、サーバーのPHPバージョンが原因の可能性も調べましたが、どこで設定を確認できるのか、何が正しいのか分からず、手詰まり感がありました。
(インストールされているのはWordPress 6.6.2っぽいですが、これも直接的な原因ではなさそうでした。)
明日以降に直せたら…と諦めかけていた8月19日の朝、藁にもすがる思いでChatGPTにこの症状を相談してみました。
パーミッションの再確認や、ディレクトリ構造の確認、そしてテーマを初期(Twenty Twenty-Fourなど)に戻してみるといった基本的な手順から、問題の切り分けを徹底的に指示されました。
特に.htaccessファイルを一旦消してみるという手順を実行した際は、案の定、全ページが見れなくなるという事態が発生(もちろんすぐに元に戻しました)。
この結果から、「これは.htaccessに原因があるくさいね」と当たりをつけることができました。
究極の解決策:DirectoryIndexの追加
そしてついに、ChatGPTちゃんが解決策を提示してくれました!
「ウェブサーバーがデフォルトでどのファイルをトップページとして表示すればいいか認識できていない可能性があります」と説明され、
.htaccessの冒頭にDirectoryIndex index.phpを書いておけば安心です
と言われた通りに実行したところ、無事、トップ画面が見れるように!
もうエラーは懲り懲りです!
このDirectoryIndexは、ディレクトリにアクセスがあった際に、最初に読み込むべきファイル名をサーバーに明示的に伝える重要な設定です。
私はこれをもっと早く知りたかった!(場所が分からなくてとりあえずRewriteRule . /index.php [L]の下に書いていたら効果がありませんでした)。
Googleで調べてもなかなか出てこなかったこのピンポイントな解決策。
同じようにトップページのエラーでお悩みの方は、もしよければご参考になさってください!
あー、良かった良かった!サイト移行は最後まで油断できませんね。
