Web制作

WordPressが突然404エラーに。サブドメイン運用中に.htaccessを削除して全ページが消えた話と、復旧までの完全マニュアル

──渋沢が実際に遭遇した .htaccess 消失トラブルの全記録**
────────────────────────

WordPressを運営していると、「ある日突然、全ページが404になる」という非常にやっかいな現象に遭遇することがある。

トップページは表示される。
管理画面(wp-admin)にも普通に入れる。
ダッシュボードも動く。

なのに、投稿ページ・固定ページ・カテゴリページ・タグページ・検索ページ・アーカイブページ、
リンクというリンクすべてが404 Not Found。

ぼく自身が、まさにこの状態に巻き込まれた。

その原因が “ぼく自身の操作ミスで .htaccess を削除してしまったこと” と気づくまでに、数時間かかった。

この記事では、
なぜ全ページ404が起きるのか
どうすれば一発で復旧できるのか
再発を防ぐにはどうするか

これらすべてを、ぼくの実体験を踏まえてまとめている。

「これからWordPressを使ってサイトを育てたい」
「サーバーやパーマリンクを触っていて不安」
「すでに404地獄に落ちて焦っている」

そんな人にも届くように書いた。

────────────────────────

■ 404エラーが突然発生したときの典型的な症状

まず、今回ぼくが経験した404問題には、非常に特徴的なパターンがあった。

これに当てはまるなら、原因はほぼ確実に .htaccess にある。


● 管理画面は普通に開ける

wp-admin にはログインできる。
投稿一覧も見えるし、テーマ編集画面も開ける。

つまり WordPress の本体は動いている。


● トップページだけ表示される

サイトのホームだけは生きている。
「サイト自体は壊れていないっぽい…?」という錯覚を起こす。


● 投稿も固定ページもカテゴリも、すべて404

ぼくのサイトも、リンクをクリックするたびに404が返ってきた。

・投稿ページ
・固定ページ
・カテゴリ
・タグ
・検索結果
・アーカイブ
・パンくずのリンク

全部404。

トップページだけ孤立しているような状態だった。


● パーマリンク設定を保存しても直らない

よくネットに載っている解決方法として、

「パーマリンクを開いて『変更を保存』を押す」

という手順がある。
これで直るケースも確かにある。

だが今回のぼくのケースでは、まったく反応なし。
どの設定にしても変わらない。

これが 「.htaccess 自体が存在していない」 ときの決定的なシグナルだった。

────────────────────────

■ トラブルの発端は、サブドメイン運用だった

404が起きた日の作業を振り返ると、問題の原因にたどり着く。


● 新しくアンテナサイトを作ろうとしていた

ぼくは、メインサイトとは別にサブドメインを作って、新しいWordPressを設置しようとしていた。

例)
main-site.com
sub.main-site.com

サーバーの管理画面でサブドメインを作成し、そこへWordPressをインストール。
ここまでは順調だった。


● ところが途中で、全ページ404が発生

設定を行っている途中、突然すべてのページが404になった。

トップページだけは生きている。
管理画面も動く。

でも、それ以外が壊滅。


● 解決策を探すうちに“最悪の判断”をしてしまった

ネットで調べると、

「.htaccess は消しても再生成されるので大丈夫」

という情報がいくつか見つかった。

そして、ぼくは信じてしまった。

WordPressルートにある .htaccess を削除。

これが最悪だった。


● ルート .htaccess は消すと致命的

WordPressにおいて、

  • テーマ内の .htaccess
  • サブディレクトリに作られる .htaccess

など「消しても問題ない場合」も存在する。

しかし、

WordPressのルートにある .htaccess は消してはいけない。

これが パーマリンク処理の司令塔 だからだ。

────────────────────────

■ .htaccess とは何をしているのか?

初心者の頃のぼくもそうだったが、
.htaccess が何者なのか理解しないまま触ってしまう人は多い。

実際には、非常に重要な役割を持っている。


● URL の交通整理係

WordPressでは、次のようなURLを内部で判断している:

/category/blog/
/2025/10/21/sample-post/
/tag/web/
/固定ページ/

これらをどのテンプレートファイルに割り当てるか。
その判断を担っているのが、.htaccess だ。

.htaccess が消えると、

「このURLはどこに渡せばいいのかわからない」

という状態になる。

→ 結果、全部404になる。


● パーマリンク設定も .htaccess がないと動かない

パーマリンク設定の「保存」で再生成されると言われているが、
そもそもファイルが無ければ書き込みできない。

だから今回、何度保存しても復旧しなかった。

────────────────────────

■ 実際にぼくが経験した症状の一覧

  • 管理画面は開ける
  • トップページは生きている
  • 内部リンクはすべて404
  • パーマリンク保存でも改善なし
  • アーカイブ・カテゴリ・タグも全滅

ここまで一致しているなら、原因はほぼ確実に .htaccess。

────────────────────────

■ 復旧方法:.htaccess を再生成するだけで一発で直る

難しいことは何もなかった。
必要だったのは たった1つのファイルを書き戻すことだけ

冷静になれば簡単だが、トラブル中は焦って気づけなかった。


● STEP1:FTPでルートディレクトリにアクセス

サーバーのFTPツールで、WordPressを入れているディレクトリに入る。

例:
public_html/
domain.com/

そこに本来あるべき .htaccess が消えている。


● STEP2:.htaccess を新規作成

メモ帳などで空ファイルを作り、
名前を .htaccess にする。


● STEP3:以下のWordPress標準コードを貼る

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

※ 最後に改行が必要。
※ このコードは WordPress が自動生成するものと同じ。


● STEP4:アップロードしてリロード

アップロードしたあとでサイトを更新すると…

全ページ、即復旧。

数時間悩んでいたのが嘘みたいだった。

────────────────────────

■ なぜこのコードだけで直るのか?

理由はシンプル。

WordPressは記事を表示するときに、

  1. URLを解析
  2. どのテンプレートを使うか判断
  3. index.php に渡す

という動作をしている。

その入口にあるのが .htaccess。

これがないと WordPress は記事を処理できず、
「存在しないURL」 と判断する。

結果 → 404。

今回貼り付けたコードは、
WordPressが記事を処理するための最低限のルール。

だから一瞬で復旧した。

────────────────────────

■ 初心者がよく誤解するポイント

ぼく自身が誤解していた内容でもある。


❌ 「.htaccess は消しても大丈夫」

→ WordPressの場合、大丈夫じゃない。


❌ 「パーマリンク保存で戻る」

→ .htaccess が無い場合は戻らない。


❌ 「テーマの不具合」

→ 完全に無関係。


❌ 「サーバーが悪い」

→ ほとんどの場合、操作ミス。

────────────────────────

■ 二度と同じミスを起こさないために

404地獄を味わうと、再発防止が本気で大事だと痛感する。

ぼくが今やっている対策をまとめた。


● ① .htaccess をロック(権限444)

間違って削除できなくする。


● ② パーマリンクを頻繁に変更しない

特別な理由がない限り、
「投稿名」 のままでOK。


● ③ サブドメイン構造を整理する

フォルダ階層が複雑だとトラブルの原因になる。


● ④ 自動バックアップを導入

BackWPup やサーバー側の自動バックアップで十分。


● ⑤ ファイルを触る前にメモを残す

小さなメモが、大きな事故を防ぐ。

────────────────────────

■ まとめ:WordPressの404は必ず直せる

今回の件で学んだのは、ただ1つ。

WordPressの404の多くは、原因さえ掴めば数秒で直せる。

ぼくが壊した原因は、
ルートの .htaccess を削除したこと。

直った理由は、
正しい内容で .htaccess を再生成したこと。

WordPressは仕組みさえ理解すれば怖くない。

同じ状況で困っている人の復旧の助けになればと思い、この記録を残した。

────────────────────────

■ FAQ(構造化データ対応)

● .htaccess を消すとどうなりますか?

WordPressが URL を処理できなくなり、トップ以外のページがすべて404になります。

● パーマリンクを保存しても直らないのはなぜ?

.htaccess が存在しないため、書き込み処理ができず再生成されないためです。

● サーバーが原因の可能性は?

今回のケースではほとんど関係ありません。
原因は .htaccess の消失です。

● 再発防止の方法は?

・.htaccess をロックする
・バックアップを取る
・サブドメイン構造を整理する
・パーマリンクをむやみに変更しない

────────────────────────

✔ 完成!

このまま WordPress の投稿画面に貼り付けて使えるよ。
JINとの相性も問題なし。

ABOUT ME
渋沢A壱
渋沢A壱 動画編集者/オンライン教育サポーター/ウェブディレクター/著者(執筆中) TikTokライブを日々コツコツ続けながら、リスナーとの交流や配信の工夫を地道に研究しています。 動画編集や配信ノウハウを初心者にもわかりやすく毎日発信し、同じように頑張る配信者の方々からも支持をいただいています。 現在は、人生や思考の新しい視点を探る書籍の執筆にも取り組んでおり、多角的な考え方を発信しています。 👉 TikTokライブはこちら 👉 X(Twitter)はこちら ライブ配信では、この記事のテーマをはじめ、配信運営のコツや視聴者との交流法を日々深掘り。 興味があれば、ぜひ気軽に遊びに来てください。
🎤 あなたの「好き」を配信にしてみませんか?

あなたの“好き”を配信に変えてみませんか!

ゲーム、雑談、メイク、歌…
ひとつの好きが、誰かの光になる瞬間があります!

私たちはTikTok公認のライバー事務所として、
初配信からのスタートも、あなたのペースでサポートします!

スマホひとつで始められるので、全国どこからでも参加できます!


▶ TikTokライバー登録はこちら