通过htaccess设置缓存头

时间:2015-10-22 11:54:17

标签: .htaccess mod-rewrite caching cdn cloudflare

我通过htaccess设置缓存指令。代码:

#team pages
RewriteCond %{REQUEST_URI} !(inc|out\.|admin) [NC]
Header set Cache-Control "max-age=604801, public"
RewriteRule ^([a-z\-]+)(/([a-z_]+))?/?$ team.php?team=$1&res_type=$3 [QSA]

我在www.web-sniffer.net上对此进行了测试,标题输出很奇怪:

enter image description here

问题:为什么我显然有两个cache-control读数?哪个占上风?最底层的是那个意图。我是否也应该设置Pragma缓存?

1 个答案:

答案 0 :(得分:1)

有条件地设置标题:

RewriteCond %{REQUEST_URI} !(inc|out\.|admin) [NC]
RewriteRule ^([a-z\-]+)(/([a-z_]+))?/?$ index.php?team=$1&res_type=$3 [L,QSA,E=cc:1]

Header set Cache-Control "max-age=604801, public" env=REDIRECT_cc

PS:我们需要在env变量REDIRECT_之前使用cc前缀,因为mod_rewrite在每个重写循环结束时为每个env变量添加此前缀迭代。