ホームページ作成などをしていると、htaccessを使ってリダイレクトを設定したり、設定したリダイレクトを解除したりすることがあるかと思います。
本記事では、Safariでホームページ作成作業をする際、.htaccessでリダイレクトを設定、解除したにも関わらず、Safariにリダイレクト情報が反映されない場合の対処を記しています。
環境情報
- macOS 13.5
- Safari 16.6 (18615.3.12.11.2)
結論
リダイレクトされない場合
Safariの環境設定›プライバシー›Webサイトデータを管理 より、リダイレクト元ドメインのWebサイトデータを削除する。なおも解決しない場合は全てのWebサイトデータを削除する。
リダイレクトが解除されない場合
Safariの環境設定›プライバシー›Webサイトデータを管理 より、リダイレクトを解除したドメイン(旧リダイレクト元ドメイン)のWebサイトデータを削除する。なおも解決しない場合は全てのWebサイトデータを削除する。
解説
Safariはリダイレクト情報をキャッシュに保存してしまいます。
元々、a11urr.wp.xdomain.jpからa11urr.orgにリダイレクトしていたとしましょう。
まず、a11urr.wp.xdomain.jpにSafariでアクセスすると、当然ながらa11urr.orgにリダイレクトされます。
その後、a11urr.wp.xdomain.jpを別サイトとして活用したくなり、a11urr.wp.xdomain.jpに設定していたリダイレクト設定を解除し、index.htmlを置いたとします。
この状態でa11urr.wp.xdomain.jpにアクセスすると、置いているindex.htmlが表示されるはずですが、Safariの場合、リダイレクトはまずキャッシュを参照するので、a11urr.wp.xdomain.jpのindex.htmlは表示されず、a11urr.orgにリダイレクトされてしまいます。
キャッシュを参照するのが原因なので、Webサイトデータを削除することにより、正常にページにアクセスできるようになります。
リダイレクトを設定したのにリダイレクトされないのも上記と同じ理由です。
やっても意味のないこと
以下のコマンドでのDNSキャッシュをクリアする
sudo killall -HUP mDNSResponder
Safariのローカルキャッシュをクリアしない限り、いくらDNSキャッシュをクリアしても先にローカルキャッシュを参照してしまうためこの方法では解決しません。
コメントを残す