在我的.htaccess文件中,我有:
<FilesMatch "\.(js|css|png|gif|jpg)$">
<IfModule mod_headers.c>
Header set Cache-Control "public, max-age=31536000"
Header set Expires "A31536000"
</IfModule>
</FilesMatch>
我还重写了/forum-js/forum.js
- &gt; /wp-content/plugins/forum/js/forum.js.php
,这是唯一应与上述正则表达式匹配的文件。出于某种原因,与该正则表达式匹配的所有其他资源都包含包含Cache-Control
和Expires
的标头,但此标题不包含{{1}}和{{1}}。是因为它是一个重写的网址吗?
答案 0 :(得分:3)
是因为它是重写的网址吗?
是的,根据您的评论,其实际扩展名为.php
,与该扩展程序相关的规则生效。
最简单的方法是从PHP脚本中发送标题:
<? header("Cache-Control: public, max-age=31536000");
header("Expires : pA31536000");
答案 1 :(得分:2)
您也可以使用mod_expires代替:
<IfModule mod_expires.c>
<FilesMatch "\.(js|css|png|gif|jpg)$">
ExpiresDefault A31536000
</FilesMatch>
</IfModule>
它也适用于MIME媒体类型而不是文件扩展名:
<IfModule mod_expires.c>
ExpiresByType application/javascript A31536000
ExpiresByType text/css A31536000
ExpiresByType image/png A31536000
ExpiresByType image/gif A31536000
ExpiresByType image/jpeg A31536000
</IfModule>