web-dev-qa-db-ja.com

Apache-htaccessのデバッグ中にブラウザのキャッシュを無効にする方法

.htaccessファイルをデバッグしようとしています。 FireFoxはリダイレクトをキャッシュし続けており、回避することはできません。通常はCtrl + F5を押しますが、既に別のページにリダイレクトされているため、入力したURLではなく、送信先のページが更新されるだけです。URLを強制的に更新する方法はありますか?

次に例を示します。

  • Example.com/hiをexample.com/helloにリダイレクトし、FireFoxでテストします。
  • .htaccessからこの行を削除します
  • FireFoxでexample.com/hiと入力しても、example.com/helloにリダイレクトされます
  • Chromeでexample.com/hiと入力すると、リダイレクトされません

これが、サーバーのキャッシュではなく、ブラウザーのキャッシュの問題だと私が思う理由です。

編集:これはFireFox固有のようですが、簡単な解決策はChromeを代わりに使用することです。キャッシュは1時間後に期限切れになり、デバッグしようとすると長すぎます。

23
hamboy

RewriteRuleを使用している場合は、R = 301の代わりにRを使用してください。他の目的では、リダイレクトを変更するたびにブラウザーのキャッシュをクリアする必要があります。 (ブラウザのキャッシュをクリアする方法がわからない場合は、ハウツーをググリングしてすばやく簡単な答えを提供するか、気軽にコメントしてください。私がお手伝いします。)

簡単に言うと、リダイレクトが正常に機能するようになるまで、可能な限り301を回避するようにしてください。それらを回避できない場合は、ブラウザーのキャッシュを定期的にクリアする準備をしてください。

15
Dan Ambrisco

Firefoxのネットワークキャッシュをクリアするとうまくいきます。また、301リダイレクト用。

設定/オプション>詳細設定>ネットワーク>キャッシュされたWebコンテンツ。

Clear network cache in Firefox preferences

https://support.mozilla.org/en-US/kb/how-clear-firefox-cache を参照してください

10
Lode

Google Chromeで、次のコマンドを使用して「シークレット」モードで新しいタブを開きます。

CTRL-SHIFT-N

デバッグに非常に役立ちます。

6
Dr Beco

Google Chromeのhtaccess/redirectキャッシュを強制的にクリアするには:

  1. [設定]> [詳細設定]> [プライバシー]> [閲覧データの消去]に移動します
  2. 「キャッシュされた画像とファイル」を選択します
  3. [閲覧データの消去]をクリックします

これで、ページに新しいhtaccess設定が読み込まれます。

6
Andrew

私の経験が誰かを助けるために、ここで検討する価値があると思います。私は定期的にローカルマシンの開発ブランチと本番ブランチを交互に切り替えます。開発ブランチは私のローカル環境で、本番ブランチはリモートサーバー用です。 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を開いてリロードするだけです。

4

Firefoxで開発者ツールバーオプションコマンドIを押して開きます。次に設定(小さな歯車のアイコンです)をクリックし、詳細設定の横にチェックマークを付けますHTTPキャッシュを無効にする(ツールボックスが開いている場合)。これは私にとってはトリックでした。

2
Gdev

Chromeでは、 Developer Tools パネルでブラウザキャッシュを無効にできます

Command+Option+C (Mac) or Control+Shift+C (Windows, Linux, Chrome OS).

Networkタブには、Disable cacheチェックボックス。
これは、開発者ツールパネルが開いている間のみ機能します。 enter image description here

1
Amir Khorsandi

Google Chromeデベロッパーツールバーを開きます。次に[設定](3ドットのアイコン)をクリックし、[ネットワーク]セクションで[キャッシュを無効にする(DevToolsが開いている間)]をオンにします。

0
Cong Nguyen

何度もキャッシュを更新しようとした後、自分のサイトのCookieをクリアすることにしましたが、理由も方法もわかりませんが、それでクリアされました。多分それはMagentoに固有の何かですが、より一般的かもしれません。

0