WordPressサイトで .htaccess
を使ってリダイレクト設定を行った際、突然「Not Found」エラーが表示されてしまうことがあります。今回は、HTMLファイルからWordPressのページにリダイレクトをかけたところエラーが出てしまったというケースと、その解決方法について記録しておきます。
現象:.htaccessを編集後「Not Found」エラーが表示される
HTMLファイルからWordPressのページ(たとえば /company/
など)にリダイレクトするために .htaccess
を編集したところ、以下のようなエラーメッセージが表示されました:
pgsqlコピーする編集するNot Found
The requested URL /company/ was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
このメッセージの通り、「指定したURLが見つかりません」となってしまいました。リダイレクト先のページはWordPressでちゃんと存在しており、URLも正しいのに、アクセスできないという状態です。
対応:.htaccessを元に戻してもエラーが消えない
リダイレクト設定を見直して .htaccess
を元に戻しても、なぜかエラーメッセージが表示されたまま…。
とても焦りましたが、元に戻しているので直らないわけがないと思いなおしました。
この問題の原因として考えられるのは、.htaccessファイルのキャッシュや、WordPressの設定に問題がある可能性です。以下の手順を試して、問題を解決できるか確認してみてください。
1. キャッシュをクリアする
ブラウザやサーバー側でキャッシュが残っている可能性があります。以下の方法でキャッシュをクリアしてみてください。
- ブラウザのキャッシュをクリア: ブラウザの履歴やキャッシュをクリアして、再度ページにアクセスしてみてください。
- サーバーのキャッシュをクリア: サーバー側でキャッシュが有効になっている場合、キャッシュを手動でクリアするか、キャッシュプラグイン(例えば、WP Super CacheやW3 Total Cacheなど)を使っている場合は、プラグインからキャッシュを削除してください。
2. パーマリンク設定の再保存
WordPressのパーマリンク設定が原因で、正しいURLにリダイレクトされないことがあります。次の手順でパーマリンクを再保存してみてください。
- WordPressの管理画面にログインします。
- 「設定」 > 「パーマリンク」に移動します。
- 何も変更せずにそのまま「変更を保存」ボタンをクリックします。
これにより、WordPressが自動的に.htaccessファイルをリフレッシュし、問題が解決する場合があります。
それでも解決しない場合
上記を行っても解消しない場合は、以下も確認してみてください:
.htaccess
に他の誤記がないか(余計なスペースやタイプミスなど)- WordPressのページが公開状態になっているか(非公開や下書きではアクセスできません)
- サーバーのエラーログを確認し、より詳細なエラー内容を把握する
今回はキャッシュのクリアで復旧することができました。
WordPressと .htaccess
の連携はとても便利ですが、思わぬところで引っかかることもあります。
今回のように「リダイレクトをかけたあとにエラーが消えない」場合は、キャッシュとパーマリンクのリセットをまず試してみるのがおすすめです。