.htaccessを編集したのに、設定がまったく反映されないということがあります。エラーは出ていないのに、リダイレクトも効かず、アクセス制限も動かないという状態です。
このような場合、原因はいくつかのパターンに分かれます。このページでは、初心者向けに「どこを確認すればよいか」を順番に分かりやすく解説します。
この記事で分かること
| 原因 | 内容 |
|---|---|
| 設置場所が違う | 効かせたい場所に置けていない |
| ファイル名ミス | .htaccess になっていない |
| サーバーが未対応 | .htaccess自体が無効 |
| キャッシュ | 変更が反映されていない |
| 上位の影響 | 別の.htaccessが優先されている |
.htaccessは置いた場所に応じて効果が変わります。違うディレクトリに置いていると、設定は正しくても反映されません。
例:/support/ に置いた → /support/ にしか効かない
ファイル名が正確に .htaccess になっているか確認します。
Windows環境では拡張子が見えず、間違いに気づきにくいことがあります。
ブラウザのキャッシュにより、変更が反映されていないように見えることがあります。
サーバーによっては、.htaccessが無効化されている場合があります。
その場合、いくら書いても一切反映されません。
上位にある.htaccessが優先されている可能性があります。
/.htaccess → 全体に影響 /support/.htaccess → 下だけ影響
本当に.htaccessが読まれているか確認する方法として、あえてエラーを書きます。
abc
これで500エラーが出れば「読み込まれている」、出なければ「無効」です。
確認後は必ず元に戻してください。
.htaccessが反映されないときは、設定ミスよりも「場所・名前・環境」の問題であることが多いです。
焦らず基本から確認していけば、原因は見つけやすくなります。