2017-03-05 15 views
-1

ブラウザはいつファイルをキャッシュし始めましたか?私が読んだものはすべて、彼らはそうしないと言います。私はこれをChrome、Firefox、Opera、Edgeでテストしており、最新のブラウザでは絶対にキャッシュ.htaccessファイルを実行します。ブラウザが.htaccessファイルのキャッシュを開始したのはいつですか?

これらはテスト目的で使用している4行のコードです。これらの4行は、.htaccessファイル全体です。

<IfModule mod_rewrite.c> 
    RewriteCond %{REQUEST_URI} ^/test/dogs.txt [NC] 
    RewriteRule .* https://www.fakeurl.com/test/note.txt [R=301,L] 
</IfModule> 

私は#でそれぞれの行をコメントすると、アップロードし、それは何も変わっていないかのようにリダイレクトし続け、私のブラウザを更新。分後も変化はありません。しかし、キャッシュをクリアしてURLをリフレッシュした後、私は404エラーを予想どおりに受け取ります。これは私がテストしたすべてのブラウザで同じように動作します。私は何か間違っているのですか?

更新

私は、ファイルの先頭に行RewriteEngine Onを追加しましたが、それは何も変更しませんでした。

+2

を試していませんブラウザはhtaccessファイルをキャッシュしません.htaccessファイルは永続的なリダイレクトをキャッシュします。これはあなたが行っていることです。 301の代わりに302を使用すると、きれいなブラウザではキャッシュにならないことに気付くでしょう.301と302の大きな違いがあります。ブラウザの履歴をクリアして再起動する必要がありますが、場合によってはあなたがそのサイトにアクセスしていない別のブラウザを使用すると、それを明確に見ることができます。 – Prix

+0

そのことを明確にしてくれてありがとう!私は本のhtaccess Made Easyから学んでいます。私はいくつかの予期しない理由で私がテストするために私が使っている最初の例を十分に確認しています。 – DR01D

+2

[**テスト目的のためには、リダイレクトが期待どおりに機能するまで、常に302を使用してから301に変更する必要があります。**また、各コードがそれをよく理解するためにどのように表現されているか、メンテナンスなどの他の目的に役立つ興味深いコード...](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) – Prix

答えて

1

302、すなわち[R = 302、L]に(permamentリダイレクトを想定)は、301リダイレクトをキャッシュしている...まったく

スイッチ.httacessをcacheingと再び

+0

それはチャンピオンのように働いた。力学についての小さな質問。 '[R = 302、L]'セグメントでは、 'L 'は' .htaccess'に書き換えを停止するよう指示します。なぜそれが必要でしょうか? HTML/CSS/JSでは、エンジンに書き込みを停止するよう指示することはありません。コードが終了すると終了します。停止するように言われる必要があるApacheについての違いは何ですか? – DR01D

+1

あなたはこのページの下に他の書き換えを行うことができます。ちょうどあなたがこのページを今すぐ送信する "書き換え"が完了したと言います。スイッチ/ケースブレイクブロックのように思ってください.Lは休憩です。https://www.w3schools。 com/js/js_switch.asp – Rostol

関連する問題