2017-03-05 23 views
-1

瀏覽器何時開始緩存.htaccess文件?我讀過的每一樣都說他們沒有。我已經在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> 

當我評論的每一行與#,上傳並刷新瀏覽器繼續,好像什麼都沒有改變重定向。幾分鐘後仍然沒有改變。但是,當我清除我的緩存並刷新網址後,我得到了404錯誤。這在我測試的每個瀏覽器中都是一樣的。難道我做錯了什麼?

更新

我增加了行RewriteEngine On在文件的開頭,但沒有任何改變。

+2

瀏覽器不緩存htaccess文件,他們緩存永久重定向,這就是你在那裏做的。如果使用302而不是301,則在乾淨的瀏覽器上,您會發現它不會緩存,與301和302存在巨大差異。您需要清除瀏覽器歷史記錄並重新啓動它,但即使如此,在某些情況下可能需要一段時間才能理解它,所以使用不同的瀏覽器,你不能訪問該網站將使它清楚地看到它。 – Prix

+0

非常感謝您澄清!我正在從書「htaccess Made Easy」中學習,並確信我用於測試的第一個示例使我產生了一些意想不到的原因。 – DR01D

+2

[**爲了測試的目的,您應該始終使用302,直到您的重定向按預期工作,然後將其更改爲301. **還應該瞭解每個代碼所代表的內容以更好地理解它,還有其他一些代碼有趣的代碼,用於其他目的,如維護等...](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) – Prix

回答

1

它不cacheing的.httacess在所有...它是高速緩存301重定向(假設permament重定向)

切換它到302,即[R = 302,L]並再次嘗試

+0

這就像一個冠軍。關於力學的一個小問題。在'[R = 302,L]'段''L'告訴'.htaccess'停止重寫。爲什麼需要這個?在HTML/CSS/JS中,我從不告訴引擎停止寫作。當代碼停止它完成。有什麼不同的Apache需要被告知停止? – DR01D

+1

你可以在那個下面寫下其他重寫,只是說你已經完成了「重寫」,現在就發送這個頁面。認爲它更像是一個Switch/case-break塊,L是中斷https://www.w3schools。 COM/JS/js_switch.asp – Rostol