昨天折騰主題,臨時停用了快取外掛 WP Super Cache,之後再次開啟,不久有瀏覽使用者反映開啟網頁會提示下載.gz 檔案。

刪除 WP Super Cache 外掛並清空快取檔案,再次重新安裝並啟用,問題依舊,我使用的是 mod_rewrite 快取模式,檢查站點根目錄的.htaccess 檔案 Mod Rewrite 規則已寫入,沒有問題,最後發現居然是預設的快取檔案存放目錄 wp-content/cache/中的另一個.htaccess 中的規則沒有更新。

正常應該類似:

  1. # BEGIN supercache
  2.   <FilesMatch ".html.gz$">
  3.     FileETag None
  4.   AddEncoding gzip .gz
  5. </IfModule>
  6.   SetEnvIfNoCase Request_URI .gz$ no-gzip
  7. <IfModule mod_headers.c>
  8. "Accept-Encoding, Cookie"
  9.   Header set Cache-Control 'max-age=3, must-revalidate'
  10. <IfModule mod_expires.c>
  11.   ExpiresByType text/html A3
  12. END supercache

如果你的站點也有類似的問題,請檢查快取目錄 wp-content/cache/中的.htaccess 檔案,是否有規則寫入。

可以嘗試到 WP Super Cache 外掛設定中更新 Mod Rewrite 規則。