独自ドメイン×WordPressで起きた404/500トラブルを構造から整理してみた

インフラエンジニアとして働き始めて約3ヶ月が経ち、
「学習・検証の記録を残す場所」として WordPress ブログを立ち上げることにしました。

今回は、WordPressの初期環境構築で404 / 500エラーに詰まった経験を、
時系列で整理して記録します。

同じように

  • WordPressが「一応表示されている」
  • でも管理画面や記事ページが不安定

という状態で悩んでいる初心者の方の参考になれば嬉しいです。

🔰 はじめに:WordPressが「書ける」ようになるまでの全体像

※このトラブルを通じて、
「WordPressが書ける状態になるまでには、いくつかの段階がある」
と理解しました。最初に全体像を整理します。当時は
「WordPressが表示される=使える状態」
だと思っていましたが、実際には 途中の工程が正しく揃っていない状態 でした。

[ ブログを書きたい ]
        ↓
[ 独自ドメインを取得する ]
        ↓
[ レンタルサーバーを契約する ]
        ↓
[ ドメインとサーバーを紐づける(DNS設定) ]
        ↓
[ WordPressを置く場所を決める ]
        ↓
[ WordPressをインストールする ]
        ↓
[ WordPressが認識するURLを揃える ]
        ↓
[ 管理画面にログインできる ]
        ↓
[ WordPressで記事が書ける ]

この記事では、
この流れのどこでズレが起き、なぜ404 / 500エラーにつながったのか
時系列で整理しています。


やろうとしたこと

  • ロリポップ(ライトプラン)で WordPress を使ったブログを作る
  • 独自ドメイン(kp-techlog.com)を設定する
  • 無料SSL(Let’s Encrypt)を有効にする

「WordPress簡単インストール」を使えば、特に難しいことは起きないと思っていました。

フェーズ0:前提・スタート地点

当時の環境

  • レンタルサーバー:ロリポップ(ライトプラン)
  • 独自ドメイン:kp-techlog.com
  • WordPress簡単インストールを使用
  • インストール先:/wordpress

この時点の認識と今振り返って思うこと

当時は、

  • トップページが表示される
  • 管理画面にも一度は入れる

という状態だったため、
「とりあえず問題なく使える」と考えていました。

今振り返ると、
この「一見動いている状態」が最初の落とし穴だったと感じています。

フェーズ1:独自ドメイン+SSL設定(うまくいったように見えた)

実施した作業

  • 独自ドメインをロリポップに設定
  • 公開(アップロード)フォルダを wordpress に指定
  • Let’s Encrypt(無料独自SSL)を有効化

表面上の状態

  • トップページは問題なく表示される
  • 一時的に管理画面にもアクセスできた

実際に起きていた可能性があること

後から考えると、
WordPressが認識しているURLと、実際にアクセスしているURLにズレが生じ始めていた
可能性が高いと理解しています。

フェーズ2:404 / 500 エラーが交互に発生

発生した症状

  • 管理画面に入れたり入れなかったりする
  • 設定保存後に 500 Internal Server Error
  • 記事ページが 404
  • CSS / JS / フォントファイルが 404

当時考えていた原因

  • キャッシュの問題?
  • サーバーの不調?
  • ロリポップ側の制限?

など、原因を点で考えてしまっていたと思います。

ここで
「設定ミスというより、構造的におかしいのでは?」
と疑えたのが転機でした。

フェーズ3:.htaccess を触り始めて状況が不安定に

実施したこと

  • ネットの記事を参考に .htaccess を編集
  • /wordpress/ を含めた RewriteRule を追加

なぜ悪化したと考えられるか

URL設計やファイル配置が固まっていない状態で
リライトルール(URLを書き換える設定)を触ってしまったことが原因だと考えています。

結果として、

  • 500エラーが出たり消えたり
  • 一時的に直ったように見えて再発

という不安定な状態になりました。

フェーズ4:DB(phpMyAdmin)を直接確認・修正

URL設定に違和感を持った理由

管理画面に安定して入れないため、
WordPressの設定そのものがどうなっているか確認できない状態でした。

そこで、
「WordPressはどのURLを正しいものとして認識しているのか?」
を直接確認することにしました。

実施内容

phpMyAdmin から wp_options テーブルを確認し、

  • siteurl
  • home

の値を以下に統一しました。

https://kp-techlog.com

ここで得た理解

WordPressは
DBに保存されているURLを強く信頼して動いている
ということを、この作業を通じて理解しました。

フェーズ5:index.php の役割を理解

問題の再整理

  • トップページは表示される
  • しかし /wp-admin が 404

対応内容

  • WordPress本体は /wordpress 配下にある
  • ルート直下に 入口となる index.php が存在しなかった

そのため、ルート直下に index.php を作成し、
/wordpress/wp-blog-header.php を読み込むようにしました。

なぜこれで解決したと考えられるか

WordPressの**起点(エントリーポイント)**を正しく用意したことで、
管理画面や静的ファイルの参照先が整理されたのだと理解しています。

フェーズ6:.htaccess を最小構成に戻す

最終的な構成

  • ルート用 .htaccess
  • /wordpress.htaccess

役割ごとに分離してシンプルな構成に戻しました。

安定した状態

  • 404 / 500 エラーが解消
  • 管理画面が安定
  • 表示も正常

今回の学習で得たこと

WordPressは「3点セット」で成り立つと理解した

URL設定(DB)
+ ファイル配置
+ .htaccess

どれか1つでもズレると、
表面上は動いていても不安定になると学びました。

「一瞬動く状態」は安心材料にならない

「表示されるからOK」ではなく、
構造として正しいかどうかを確認することが重要だと感じました。

DBを触れる知識の重要性

管理画面が使えなくても、

  • WordPressが何を信じているか
  • どこがズレているか

を確認できるのは、大きな保険になると感じています。

まとめ

今回のトラブル対応を通じて、
WordPressを「なんとなく使う」のではなく、
構造を意識して扱う重要性を学びました。

同じように初期構築で詰まっている方の
考え方の整理に少しでも役立てば嬉しいです。

おまけ

  • .htaccess や DB 直接編集は 必ずバックアップを取ってから
  • レンタルサーバーごとに仕様が異なるため、同じ結果になるとは限らない
  • 本記事は「こうすれば必ず直る」ではなく、考え方の共有

コメント

タイトルとURLをコピーしました