iT邦幫忙

0

apache 取消網站 cache 要去哪裡設定?

是去 /etc/apache2/apache2.conf

還是自己設定的 conf 檔呢
/etc/apache2/sites-available/000-default.conf

我有在 000-default.conf 添加

<filesMatch "\.(php|css|flv|gif|htm|html|ico|jpe|jpeg|jpg|js|png|pdf|txt)$">
  FileETag None
  <ifModule mod_headers.c>
     Header unset ETag
     Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
     Header set Pragma "no-cache"
     Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
  </ifModule>
</filesMatch>

但還是有cache。。

RewriteEngine On

有在
<filesMatch "\.(php|css|flv|gif|htm|html|ico|jpe|jpeg|jpg|js|png|pdf|txt)$">

前面吧 ?
可以先拿掉 <ifModule mod_headers.c> </ifModule>這兩個先試試看會不會有錯誤。
有錯誤的話,代表你的 mod_headers 並未載入運行。

請先確定你的httpd.conf內,已有載入如下的模組
LoadModule headers_module modules/mod_headers.so
並確定有重新啟動。

另外一個題外話。
其實我並不會用設定的方式來做取消cache。
因為這也有其危險性。

如果說只是為了本機上的測試方便。確實在開發上可以避免一些問題。
但正式上傳時,如果說在正式機上也做這樣的設定,其實並不太適合。
很容易在無形之中增加流量跟效能負載的情況。(原先cache的用意也是為此)
如果說正式機不做此設定,那有時就很容易發生不對應的問題。

所以一般並不太建議採用此方式。除非不考量效能跟流量的問題。
小松 Nana iT邦研究生 3 級 ‧ 2018-06-11 16:23:36 檢舉
這是要在 htaccess 嗎?

尚未有邦友回答

立即登入回答