.htaccessファイルをデバッグしようとしています。 FireFoxはリダイレクトをキャッシュし続けており、回避することはできません。通常はCtrl + F5を押しますが、既に別のページにリダイレクトされているため、入力したURLではなく、送信先のページが更新されるだけです。URLを強制的に更新する方法はありますか?
次に例を示します。
これが、サーバーのキャッシュではなく、ブラウザーのキャッシュの問題だと私が思う理由です。
編集:これはFireFox固有のようですが、簡単な解決策はChromeを代わりに使用することです。キャッシュは1時間後に期限切れになり、デバッグしようとすると長すぎます。
RewriteRuleを使用している場合は、R = 301の代わりにRを使用してください。他の目的では、リダイレクトを変更するたびにブラウザーのキャッシュをクリアする必要があります。 (ブラウザのキャッシュをクリアする方法がわからない場合は、ハウツーをググリングしてすばやく簡単な答えを提供するか、気軽にコメントしてください。私がお手伝いします。)
簡単に言うと、リダイレクトが正常に機能するようになるまで、可能な限り301を回避するようにしてください。それらを回避できない場合は、ブラウザーのキャッシュを定期的にクリアする準備をしてください。
Firefoxのネットワークキャッシュをクリアするとうまくいきます。また、301リダイレクト用。
設定/オプション>詳細設定>ネットワーク>キャッシュされたWebコンテンツ。
https://support.mozilla.org/en-US/kb/how-clear-firefox-cache を参照してください
Google Chromeで、次のコマンドを使用して「シークレット」モードで新しいタブを開きます。
CTRL-SHIFT-N
デバッグに非常に役立ちます。
Google Chromeのhtaccess/redirectキャッシュを強制的にクリアするには:
これで、ページに新しいhtaccess設定が読み込まれます。
私の経験が誰かを助けるために、ここで検討する価値があると思います。私は定期的にローカルマシンの開発ブランチと本番ブランチを交互に切り替えます。開発ブランチは私のローカル環境で、本番ブランチはリモートサーバー用です。 2つの環境の唯一の違いは、.htaccessファイルです。私のリモートサーバーでは、誰かがURLの前に「www」を入力しない場合の書き換えルールが必要です。
# If www is missing from the beginning of the URL
RewriteCond %{HTTP_Host} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_Host}/$1 [R=301,L]
ただし、この書き換えルールは、URL構造のため、ローカル環境では機能しません。したがって、ローカルバージョンの.htaccessでは、書き換えルールをコメント化しています。
私が気付いたことは、Chromeが毎回最新の.htaccessファイルを取得するためにローカルサーバーにアクセスするようには見えないことです。本番ブランチから私の開発ブランチでは、次のようなものが得られます。
www.www-local.myurl.local
Safariを使用すると、正しいURLが得られます。
www-local.myurl.local
これを解決するにはChrome問題、[開発ツール]> [設定]> [一般]に移動し、[キャッシュを無効にする(DevToolsが開いている間)]をオンにします)
これがチェックされているので、現在の.htaccessを取得するには、Dev Toolsを開いてリロードするだけです。
Firefoxで開発者ツールバーオプションコマンドIを押して開きます。次に設定(小さな歯車のアイコンです)をクリックし、詳細設定の横にチェックマークを付けますHTTPキャッシュを無効にする(ツールボックスが開いている場合)。これは私にとってはトリックでした。
Chromeでは、 Developer Tools パネルでブラウザキャッシュを無効にできます
Command+Option+C (Mac) or Control+Shift+C (Windows, Linux, Chrome OS).
Network
タブには、Disable cache
チェックボックス。
これは、開発者ツールパネルが開いている間のみ機能します。
Google Chromeデベロッパーツールバーを開きます。次に[設定](3ドットのアイコン)をクリックし、[ネットワーク]セクションで[キャッシュを無効にする(DevToolsが開いている間)]をオンにします。
何度もキャッシュを更新しようとした後、自分のサイトのCookieをクリアすることにしましたが、理由も方法もわかりませんが、それでクリアされました。多分それはMagentoに固有の何かですが、より一般的かもしれません。