web-dev-qa-db-ja.com

Chromeにリダイレクトのキャッシュを停止させるにはどうすればよいですか。

私はredirectsを使用しているWebアプリケーションで作業しています(かわいいURL用)。

リダイレクトが機能するようにロジックをデバッグしようとしています。ただし、Google Chromeはリダイレクトを記憶し続け、コードを変更した後も同じようにリダイレクトします。

これはトラブルシューティングを非常に難しくしています。

たとえば、/this/thatにリダイレクトした場合、自分のコードをもう/thisをリ​​ダイレクトしないように変更します。 Google Chromeはまだ/thatにリダイレクトしています。リダイレクトがキャッシュされているか何かのように。これをオフにする方法はありますか?

406
JD Isaacks

Google Chromeは301個のリダイレクトを キャッシュします 。これを回避し、タブを開いたままにするには、ブラウザのキャッシュを消去するだけです。

Chromeメニュー Chrome Menu >設定>詳細設定を表示...>プライバシー>クリック閲覧データを消去...

他に何を選択しても、[キャッシュされた画像とファイル]がオンになっていることを確認してください。

次に閲覧履歴の消去をクリックすると、再度テストすることができます。

リダイレクトしたばかりの場合は、過去1時間のデータを削除するだけで済みます。

あるいは、シークレットモードでテストおよび開発します。ブラウザが閉じられた後キャッシュはそこでフラッシュされます。

321
random

これは、閲覧中のデータをすべて消去せずにリダイレクト用のChromeのスティッキメモリを消去する確実な方法です(現在のトップの回答で使用されている方法)。

  1. Developer Toolsパネルを開きます(optioncommandi Macの場合 ctrlshifti Windowsの場合)

  2. リロードアイコンをクリックしたままにします enter image description here

  3. メニューが開きます

    enter image description here

  4. このメニューから3番目のオプションを選択します( "Empty Cache and Hard Reload")。

これが これら3つのオプションの違い の優れた説明です。

シモンズ:リダイレクトは、Chromeが続いているたびにこれらの手順を実行することを避けるために:DevToolsで無効キャッシュをチェックし、DevToolsが開いている間Chromeはリダイレクトキャッシュをバイパスします あたりこの答え

144
Gaia

これは完璧な解決策ではありませんが、偽のクエリ文字列を渡す、または既存のクエリ文字列に偽のパラメータを追加することで、Chromeがキャッシュリダイレクトを使用するのを防ぐことができました。たとえば、qクエリ文字列を持たないURLの最後に単純な?を追加すると、Max OS X上のChrome 30で動作しました。

113
sradack

これについて "wontfix" Chromiumのバグがあります

これは予想される動作です。

ご了承ください:

  1. あなたは301にキャッシュコントロールヘッダを追加することができます、そして我々はそれらに従います(有効期限など)
  2. 問題のリソースがサブリソースの場合、ページを再ロードするとリダイレクトがサーバーで再検証されます。
  3. キャッシュ全体を失う必要はありません。リダイレクトに従って最後の1時間を削除するだけです。
91
dbr

DevToolsで[キャッシュを無効にする(DevToolsが開いている間)]オプションを有効にしている場合は、セッションを常に捨てることなく、単にDevToolsを開いてもリダイレクトキャッシュをバイパスするのに十分です。

66
Mike Gossmann

ChromeはHTTPリダイレクトをキャッシュし、リダイレクトが変更された場合はサイトへのチェックを中止します。リンクにアクセスする前にリダイレクトが行われるため、これを修正する最も簡単な方法(サイトにアクセスして強制的に更新する)を使用することはできません。これは で問題は解決されません

これを回避するには、ここで説明されているように ブラウズデータを消去するか 、または以下の手順に従って履歴を失わないようにします。

  1. Chromeデベロッパーツールを開く dev-tools

  2. 設定をクリック settings

  3. チェックキャッシュを無効にする(DevToolsが開いている間) disable

  4. あなたが欲しいサイトを訪れればキャッシュの問題は解決されるでしょう。

20
Zanon

Chrome:// net-internalsに行き、一番右のドロップダウンを開いて "Clear Cache"を選択してください。バージョン48の時点で、これがキャッシュされた301をクリアするのに役立つ唯一のものでした(恒久的なリダイレクト)。

更新:残念ながら、バージョン71(2018年12月)現在、Googleはネット内部機能を削除しています。

15
McGuireV10

.devドメインはChrome 63+でHTTPSを使わざるを得ません

2017年12月のChrome 63以降、.dev(および.foo)で終わるすべてのドメインは、プリロードされたHTTP Strict Transport Security(HSTS)ヘッダーを介してHTTPSを使用するように強制されています。

詳細はこちら: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/

8

Chromeで1ページのリダイレクトキャッシュをクリアするには、ソースを表示して(CTRL + SHIFT + R)をハードリフレッシュします。

ソースブラウザは自動的に301リダイレクトをたどらないので、これは働きます。

7

説明したように ここ はHSTSが原因である可能性があります

これを回避するために、私は次のようにしました。

Chromeのアドレスバーに「chrome:// net-internals /#hsts」と入力します。ページの一番下にQUERYドメインのテキストボックスが表示されます。上のテキストボックスを使用しているドメインあなたのサイトは今、普通のHTTPを使って動くはずです

6
Tonino

ChromeとFirefoxのどちらでも、 "view-source:redirect.yoursite.com"と入力してenterを押すことでリダイレクトを更新できます。そのページを更新します。これで、ChromeまたはFirefoxにリダイレクトの更新を強制する必要があります。

5
mrbofus

リダイレクトが期待どおりに機能していることを確認するだけの場合は、wgetなどのコマンドラインツールを使用する方がおそらく簡単です。応答ヘッダーを調べることができ、リダイレクトはキャッシュされません。

4
Tom Wilson

開発目的のために私はChromeでDevTools設定を開き、「キャッシュを無効にする」をチェックすることをお勧めします。その後、30回のリダイレクトはキャッシュされず、.htaccessファイルなどをデバッグできます。 enter image description here

3
lukyer

キャッシュ全体を失いたくなくてもリダイレクトがキャッシュに残っている場合は、URLのview-source:バージョンにアクセスしてみてください。それは私にとって同じURLのリダイレクトキャッシュを更新しました。

1
Ogier Schelvis

最も簡単な方法は、ハードリフレッシュです。 Ctrl + Rを数秒間押し続けます。これにより、リダイレクトと静的リソースがクリアされます。

1
Ryu_hayabusa
  1. chrome://settings/search#clear%20browsing%20dataに行く

  2. [閲覧履歴を消去]をクリックします。

  3. 「キャッシュされた画像とファイル」をチェックしてください(そして必要なら残りのチェックを外してください)

  4. [閲覧履歴を消去]をクリックします。

enter image description here

1
guaka

私はこのページですべての答えを試しましたが、私がwindowsコマンドラインウィンドウでflushdnsを実行するまで、どれもうまくいきませんでした。

C:\Users\DBashyal>ipconfig /flushdns

Windows IP Configuration    
Successfully flushed the DNS Resolver Cache.

ちなみに、私はすでに この答え で述べたようにDisable cacheをチェックしていました。

0
Damodar Bashyal