我通过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上对此进行了测试,标题输出很奇怪:
问题:为什么我显然有两个cache-control
读数?哪个占上风?最底层的是那个意图。我是否也应该设置Pragma缓存?
答案 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变量添加此前缀迭代。