一本关于性能的书说你应该使用
Expires
或 Cache-Control: max-age
但不能同时使用。
Expires
在我的 Apache 上配置很容易。
现在我想禁用不需要的
Cache-Control: max-age
,但我不知道如何做。
您提到的两个标题表明您正在使用
mod_expires
。
您无法使用 mod_expires
仅选择一个标题。设置标头 in mod_expires.c
的代码无条件地将两个标头设置为等效值:
apr_table_mergen(t, "Cache-Control",
apr_psprintf(r->pool, "max-age=%" APR_TIME_T_FMT,
apr_time_sec(expires - r->request_time)));
timestr = apr_palloc(r->pool, APR_RFC822_DATE_LEN);
apr_rfc822_date(timestr, expires);
apr_table_setn(t, "Expires", timestr);
但是,使用
mod_header
可能允许您设置您想要的内容,使用类似以下内容:
Header unset Cache-Control
有一个同时使用两者的情况:
Cache-Control
比Expires
可以提供更精细的控制,而Expires
可以帮助年长的客户。
可以通过修改服务器配置来禁用上述功能。首先,您需要找到 Apache 配置文件并在文本编辑器中打开它。搜索相关指令并更改添加以下命令:
sudo service apache2 restart
重启系统使命令生效。