利用浏览器缓存在 PHP 项目的 htaccess 中不起作用
Leverage Browser Caching Not Working in htaccess of PHP project
我在 php 项目的 .htaccess 文件中添加了以下代码。
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>
但 google 分析器仍未将其标记为已解决。它显示(未指定过期)每个图像,css 和 js。
我需要做其他事情才能让它发挥作用吗?
你的配置看起来不错。
mod_expires 是否在您的 apache 配置中启用?
能否提供以下结果:
curl -I http://yourdomain/an_asset.jpg
编辑:
我添加了一个非详尽列表
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "now"
ExpiresByType application/atom+xml "access plus 5 minutes"
ExpiresByType application/json "access plus 5 minutes"
ExpiresByType application/javascript "access plus 30 days"
ExpiresByType application/mac-binhex40 "access plus 1 day"
ExpiresByType application/msword "access plus 1 day"
ExpiresByType application/octet-stream "access plus 30 days"
ExpiresByType application/pdf "access plus 1 day"
ExpiresByType application/x-cdf "access plus 1 day"
ExpiresByType application/x-director "access plus 1 day"
ExpiresByType application/x-font-ttf "access plus 1 day"
ExpiresByType application/x-font-opentype "access plus 1 day"
ExpiresByType application/x-font-woff "access plus 1 day"
ExpiresByType application/x-javascript "access plus 30 days"
ExpiresByType application/x-netcdf "access plus 1 day"
ExpiresByType application/x-shockwave-flash "access plus 1 day"
ExpiresByType application/xhtml+xml "access plus 5 minutes"
ExpiresByType application/xml "access plus 5 minutes"
ExpiresByType application/font-woff "access plus 1 day"
ExpiresByType application/zip "access plus 1 day"
ExpiresByType application/vnd.ms-fontobject "access plus 30 days"
ExpiresByType audio/basic "access plus 1 day"
ExpiresByType audio/mpeg "access plus 1 day"
ExpiresByType audio/x-aiff "access plus 1 day"
ExpiresByType audio/x-wav "access plus 1 day"
ExpiresByType image/bmp "access plus 1 day"
ExpiresByType image/gif "access plus 1 day"
ExpiresByType image/jpeg "access plus 1 day"
ExpiresByType image/png "access plus 1 day"
ExpiresByType image/svg+xml "access plus 30 days"
ExpiresByType image/vnd.microsoft.icon "access plus 7 days"
ExpiresByType image/x-icon "access plus 1 day"
ExpiresByType text/css "access plus 30 days"
ExpiresByType text/html "access plus 5 minutes"
ExpiresByType text/javascript "access plus 30 days"
ExpiresByType text/plain "access plus 1 day"
ExpiresByType text/xml "access plus 5 minutes"
ExpiresByType video/quicktime "access plus 1 day"
ExpiresByType video/mp4 "access plus 365 days"
ExpiresByType video/webm "access plus 365 days"
ExpiresByType video/ogg "access plus 365 days"
ExpiresByType video/x-msvideo "access plus 1 day"
</IfModule>
compress-php-css-js-javascript-optimize-website-performance
只需使用此 php 代码 dirname(__FILE__)
将“/the/full/path/of/this/file”路径替换为正确的目录
我在 php 项目的 .htaccess 文件中添加了以下代码。
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>
但 google 分析器仍未将其标记为已解决。它显示(未指定过期)每个图像,css 和 js。 我需要做其他事情才能让它发挥作用吗?
你的配置看起来不错。
mod_expires 是否在您的 apache 配置中启用?
能否提供以下结果:
curl -I http://yourdomain/an_asset.jpg
编辑: 我添加了一个非详尽列表
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "now"
ExpiresByType application/atom+xml "access plus 5 minutes"
ExpiresByType application/json "access plus 5 minutes"
ExpiresByType application/javascript "access plus 30 days"
ExpiresByType application/mac-binhex40 "access plus 1 day"
ExpiresByType application/msword "access plus 1 day"
ExpiresByType application/octet-stream "access plus 30 days"
ExpiresByType application/pdf "access plus 1 day"
ExpiresByType application/x-cdf "access plus 1 day"
ExpiresByType application/x-director "access plus 1 day"
ExpiresByType application/x-font-ttf "access plus 1 day"
ExpiresByType application/x-font-opentype "access plus 1 day"
ExpiresByType application/x-font-woff "access plus 1 day"
ExpiresByType application/x-javascript "access plus 30 days"
ExpiresByType application/x-netcdf "access plus 1 day"
ExpiresByType application/x-shockwave-flash "access plus 1 day"
ExpiresByType application/xhtml+xml "access plus 5 minutes"
ExpiresByType application/xml "access plus 5 minutes"
ExpiresByType application/font-woff "access plus 1 day"
ExpiresByType application/zip "access plus 1 day"
ExpiresByType application/vnd.ms-fontobject "access plus 30 days"
ExpiresByType audio/basic "access plus 1 day"
ExpiresByType audio/mpeg "access plus 1 day"
ExpiresByType audio/x-aiff "access plus 1 day"
ExpiresByType audio/x-wav "access plus 1 day"
ExpiresByType image/bmp "access plus 1 day"
ExpiresByType image/gif "access plus 1 day"
ExpiresByType image/jpeg "access plus 1 day"
ExpiresByType image/png "access plus 1 day"
ExpiresByType image/svg+xml "access plus 30 days"
ExpiresByType image/vnd.microsoft.icon "access plus 7 days"
ExpiresByType image/x-icon "access plus 1 day"
ExpiresByType text/css "access plus 30 days"
ExpiresByType text/html "access plus 5 minutes"
ExpiresByType text/javascript "access plus 30 days"
ExpiresByType text/plain "access plus 1 day"
ExpiresByType text/xml "access plus 5 minutes"
ExpiresByType video/quicktime "access plus 1 day"
ExpiresByType video/mp4 "access plus 365 days"
ExpiresByType video/webm "access plus 365 days"
ExpiresByType video/ogg "access plus 365 days"
ExpiresByType video/x-msvideo "access plus 1 day"
</IfModule>
compress-php-css-js-javascript-optimize-website-performance
只需使用此 php 代码 dirname(__FILE__)