2011-10-12 4 views
16

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

ここでは例です:

  • リダイレクトは、Firefoxでのテスト、example.com/helloするexample.com/hi、それは
  • .htaccessのタイプexample.com/からこの行を削除し
  • の作品ハイテクFirefoxでは、それはまだChromeの
  • タイプexample.com/hiをexample.com/helloにリダイレクトし、それが

をリダイレクトしていない理由を私トンですそれはサーバーのキャッシュではなく、ブラウザのキャッシュに関する問題です。

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

答えて

11

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

可能であればリダイレクトが正常に機能するまで301sを避けてください。それらを避けることができない場合は、ブラウザのキャッシュを定期的にクリアする準備をしてください。

+0

私はFirefoxに同じ問題を抱えていますが、htaccessファイルをキャッシュしているようですが、キャッシュを何回クリアしても最新バージョンでは更新されません。現時点での解決策はChromeを使用することです。 –

+2

ブラウザは.htaccessファイルをキャッシュしません(表示されないため)。ただし、キャッシュリダイレクトを行います。実際にFirefoxのバグでない限り、適切な302リダイレクトが期待どおりに動作してはならない理由はまったくありません(この場合、チケットをファイルに保存する必要があります)。 –

+0

実際に301が必要なときに一時的に302に変更すると、テストが完了したときに忘れられる可能性があります。さらに、ブラウザのキャッシュをクリアすることも可能です。 – Lode

-1

Firefox addon Clear Cacheを使用すると、htaccessキャッシュをクリアすることができます。任意のCTRL + R

https://addons.mozilla.org/en-US/firefox/addon/clear-cache-button/

+0

これは機能しません。これは基本的にはショートカットですが、ctrl + rメソッドとはまったく異なるものはありません。 –

0

より良いなぜか、どのように私のキャッシュ私は私のサイトのCookieをクリアすることを決定した数え切れないほどの時間をリフレッシュしようとした後、私は知らないが、それは私のためにそれをクリアしました。 Magentoに特有のものかもしれませんが、もっと一般的かもしれません。 Google Chromeで

3

、使用して "インコグニート" モードで新しいタブを開く:

CTRL-SHIFT-N

をデバッグに非常に便利です。

10

Firefoxのネットワークキャッシュをクリアすることができます。また、301リダイレクトの場合。

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

Clear network cache in Firefox preferences

私はそれは私の経験は、誰にも役立ちます念のために、ここで計量価値があると思うhttps://support.mozilla.org/en-US/kb/how-clear-firefox-cache

+0

ありがとう、私のために働いた –

+0

これも私のために働いた。私たちは.htaccessファイルで間違いを犯し、ループで301を得ました。クロムはすぐに変更を見ましたが、FFは変更しませんでした。.htaccessファイルがキャッシュされていないと言うのは正しいですが、FFはひねりを起こしているようです。 –

1

を参照してください。私は定期的に私のローカルマシン上の開発ブランチとプロダクションブランチの間を行き来します。開発ブランチは私のローカル環境で、プロダクションブランチはリモートサーバー用です。 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では、書き換えルールをコメントアウトします。

私が気づいたことは、毎回最新の.htaccessファイルを入手するために、Chromeがローカルサーバーにアクセスしていないようだということです。私は私の生産ブランチからの私の開発ブランチに切り替えたとき、私はこのようになります何かを得るので、明らかにリライトをキャッシュです:

www.www-local.myurl.local 

私はサファリを使用している場合は、私が正しいURLを取得:

www-local.myurl.local 

このChromeの問題を解決するには、デベロッパーツール>設定>一般>に行き、「キャッシュを無効にする(DevToolsが開いている間に)」にチェックを入れてください。

これをチェックすると、Dev Toolsを開き、 .htaccess .htaccess。

3

Google Chromeのでキャッシュをリダイレクト/クリアhtaccessファイルを強制的に:

  1. [設定]> [詳細]> [プライバシー]> [閲覧履歴を消去
  2. を選択し、 "キャッシュされた画像やファイル"
  3. クリアブラウズをクリックしてくださいデータ

ページに新しいhtaccess設定が読み込まれるようになりました。

0

オープンFirefox 開発者ツールバーオプションコマンドI次に、の設定をクリックして、の下にある詳細設定(ツールボックスが開いている場合)の横にチェックを入れます。これは私のためのトリックでした。

関連する問題