WordPress移行でCSS/JSが全滅!犯人はテーマ内の.htaccessだった
WordPressをローカルからテスト環境に移行したら…
CSSもJSも全部消えた(真っ白)状態になりました。
さらにコンソールを見ると
- 500エラーだらけ
- 画像も読み込まれない
ここでかなりハマりました。
結論から言うと原因はこれです。
テーマフォルダ内に置いた .htaccess
これを削除したら一瞬で解決しました。
この記事では、実際に起きたエラー → 原因 → 解決方法を初心者向けに解説します。
現象の説明
今回やりたかったこと
- ローカル(MAMP)→ テスト環境へ移行
- All-in-One WP Migrationで移行
しかし
- インポートできない
- 手動移行したらデザイン崩壊
つまり
- CSSが当たらない
- JSが動かない
- 画像も表示されない
サイトがほぼ崩壊状態になりました。
実際に起きたエラー

コンソールの内容
- Failed to load resource: status 500
- CSS / JS / 画像すべて失敗
ここが重要ポイントです。
- 404ではない
- 500エラー(サーバー側の問題)
結論(先に知りたい人向け)
テーマフォルダ内の .htaccess を削除する
これだけで解決します。
原因の詳細

原因はこれです。
/wp-content/themes/blog/.htaccess
本来
- .htaccessはルートに置くもの
しかし今回は
- テーマ内に配置してしまった
その結果
- CSSやJSへのアクセスがブロック
- サーバーが500エラーを返す
NGコード
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule .* - [F]
</IfModule>
なぜダメなのか
このコードの意味
- RewriteRule .* – [F]
すべてのアクセスを拒否する設定です。
つまり
- CSS → 拒否
- JS → 拒否
- 画像 → 拒否
すべてブロックされます。
さらにテーマ内にあるため
テーマ内ファイルだけ全滅します。
解決方法(ステップ形式)
STEP1:テーマフォルダに入る
/wp-content/themes/自分のテーマ/
STEP2:.htaccessを探す
STEP3:削除する
.htaccess を削除します。
STEP4:ブラウザ更新
- Ctrl + F5(強制リロード)
結果
- CSS → 正常
- JS → 正常
- 画像 → 表示OK
完全に復旧しました。
なぜ解決するのか(比較)
| 状態 | 内容 |
|---|---|
| 修正前 | .htaccessがアクセス拒否 |
| 修正後 | 通常アクセス可能 |
通信が正常に通るようになっただけです。
初心者向けまとめ
今回のポイント
- エラーはコードだけが原因ではない
- アクセス制御も重要
「エラーは嘘をつかない」という視点が大事です。
よくあるミス
- .htaccessを適当に配置する
- コピペで意味を理解しない
- ルートとテーマの違いを知らない
初心者がよくやるミスです。
今回のポイントまとめ
- CSS/JSが読み込まれない → コンソールを見る
- 500エラー → サーバー側の問題
- .htaccess → 強力な設定ファイル
- テーマ内に置くのは基本NG
まとめ
今回の教訓
灯台下暗しです。
- PHPを疑う前に
- JSを疑う前に
まずはファイル構成を確認しましょう。
一言
原因さえ分かれば、こういったエラーはすぐ解決できます。
同じ現象で悩んでいる場合は、まず .htaccess を疑ってみてください。