.htaccess htaccess用于利用浏览器缓存不工作

.htaccess htaccess用于利用浏览器缓存不工作,.htaccess,http,caching,http-headers,browser-cache,.htaccess,Http,Caching,Http Headers,Browser Cache,我在利用浏览器缓存方面遇到问题。 我已经创建了这个.htaccess文件,并在我的服务器上使用它,但它似乎不起作用,我从这里复制了它“”。 我很可能犯了一个基本的错误,所以任何帮助都很好。 这里有一些细节。我正在处理一个子域,我们称之为“sub”,主域为“example”。 因此,我希望htaccess文件能够处理所有内容。 在我的服务器上,我将.htaccess文件放在sub的主目录中,例如,主目录是独立的 我运行的apache2服务器同时启用了mod_头和mod_expires 干杯 <

我在利用浏览器缓存方面遇到问题。 我已经创建了这个.htaccess文件,并在我的服务器上使用它,但它似乎不起作用,我从这里复制了它“”。 我很可能犯了一个基本的错误,所以任何帮助都很好。 这里有一些细节。我正在处理一个子域,我们称之为“sub”,主域为“example”。 因此,我希望htaccess文件能够处理所有内容。 在我的服务器上,我将.htaccess文件放在sub的主目录中,例如,主目录是独立的

我运行的apache2服务器同时启用了mod_头和mod_expires

干杯

<ifModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml
AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript application/json
AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf
AddOutputFilterByType DEFLATE font/truetype font/opentype
</ifModule>
<ifModule mod_expires.c>
 ExpiresActive On
 ExpiresDefault "access plus 5 seconds"
 ExpiresByType image/x-icon "access plus 2592000 seconds"
 ExpiresByType image/jpeg "access plus 2592000 seconds"
 ExpiresByType image/png "access plus 2592000 seconds"
 ExpiresByType image/gif "access plus 2592000 seconds"
 ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
 ExpiresByType text/css "access plus 604800 seconds"
 ExpiresByType text/javascript "access plus 216000 seconds"
 ExpiresByType application/javascript "access plus 216000 seconds"
 ExpiresByType application/x-javascript "access plus 216000 seconds"
 ExpiresByType text/html "access plus 600 seconds"
 ExpiresByType application/xhtml+xml "access plus 600 seconds"
 </ifModule>
 <filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
 Header set Cache-Control "max-age=2592000, private"
 Header set Expires "Sun, 17 July 2013 20:00:00 GMT"
 </filesMatch>
 <filesMatch "\\.(css|css.gz)$">
 Header set Cache-Control "max-age=604800, private" 
 </filesMatch>
 <filesMatch "\\.(js|js.gz)$">
 Header set Cache-Control "max-age=604800, private"
 </filesMatch>
 <filesMatch "\\.(xml|txt)$">
 Header set Cache-Control "max-age=216000, private, must-revalidate"
 </filesMatch>
 <filesMatch "\\.(html|htm)$">
 Header set Cache-Control "max-age=7200, private, must-revalidate"
 </filesMatch>
 FileETag None

AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
AddOutputFilterByType DEFLATE image/svg+xml应用程序/xhtml+xml应用程序/xml
AddOutputFilterByType DEFLATE应用程序/rdf+xml应用程序/rss+xml应用程序/atom+xml
AddOutputFilterByType DEFLATE text/javascript应用程序/javascript应用程序/x-javascript应用程序/json
AddOutputFilterByType放气应用程序/x-font-ttf应用程序/x-font-otf
AddOutputFilterByType泄气字体/truetype字体/opentype
过期于
ExpiresDefault“访问加5秒”
ExpiresByType图像/x图标“访问加2592000秒”
ExpiresByType图像/jpeg“访问时间加2592000秒”
ExpiresByType图像/png“访问加2592000秒”
ExpiresByType image/gif“访问时间加2592000秒”
过期按类型应用程序/x-shockwave-flash“访问加2592000秒”
ExpiresByType文本/css“访问时间加604800秒”
ExpiresByType文本/javascript“访问时间加216000秒”
ExpiresByType应用程序/javascript“访问时间加216000秒”
ExpiresByType应用程序/x-javascript“访问时间加216000秒”
ExpiresByType text/html“访问加600秒”
ExpiresByType应用程序/xhtml+xml“访问加600秒”
标题集缓存控制“最大年龄=2592000,专用”
标题集过期“2013年7月17日星期日20:00:00 GMT”
标题集缓存控制“最大年龄=604800,专用”
标题集缓存控制“最大年龄=604800,专用”
标题集缓存控制“最大年龄=216000,专用,必须重新验证”
标题集缓存控制“最大年龄=7200,专用,必须重新验证”
FileTag无
看起来很乱

你也有多余的规则,比如

ExpiresByType应用程序/javascript“访问加216000秒”


标题集缓存控制“最大年龄=604800,专用”
尝试使用或签出所有

仅使用此项,然后尝试一下:

    <ifModule mod_expires.c>
 ExpiresActive On
 ExpiresDefault "access plus 5 seconds"
 ExpiresByType image/x-icon "access plus 2592000 seconds"
 ExpiresByType image/jpeg "access plus 2592000 seconds"
 ExpiresByType image/png "access plus 2592000 seconds"
 ExpiresByType image/gif "access plus 2592000 seconds"
 ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
 ExpiresByType text/css "access plus 604800 seconds"
 ExpiresByType text/javascript "access plus 216000 seconds"
 ExpiresByType application/javascript "access plus 216000 seconds"
 ExpiresByType application/x-javascript "access plus 216000 seconds"
 ExpiresByType text/html "access plus 600 seconds"
 ExpiresByType application/xhtml+xml "access plus 600 seconds"
 </ifModule>

过期于
ExpiresDefault“访问加5秒”
ExpiresByType图像/x图标“访问加2592000秒”
ExpiresByType图像/jpeg“访问时间加2592000秒”
ExpiresByType图像/png“访问加2592000秒”
ExpiresByType image/gif“访问时间加2592000秒”
过期按类型应用程序/x-shockwave-flash“访问加2592000秒”
ExpiresByType文本/css“访问时间加604800秒”
ExpiresByType文本/javascript“访问时间加216000秒”
ExpiresByType应用程序/javascript“访问时间加216000秒”
ExpiresByType应用程序/x-javascript“访问时间加216000秒”
ExpiresByType text/html“访问加600秒”
ExpiresByType应用程序/xhtml+xml“访问加600秒”

正如@Anthony Hatzopoulos指出的,您使用的是重复的配置,它们可能相互冲突。当然,如果您喜欢,也可以使用“fileMatch”方式,但问题是它们不是很好的代码。请注意,如果使用“fileMatch”,则不使用代码

您是否尝试过
a2enmod过期
然后
重新启动服务apache2
    <ifModule mod_expires.c>
 ExpiresActive On
 ExpiresDefault "access plus 5 seconds"
 ExpiresByType image/x-icon "access plus 2592000 seconds"
 ExpiresByType image/jpeg "access plus 2592000 seconds"
 ExpiresByType image/png "access plus 2592000 seconds"
 ExpiresByType image/gif "access plus 2592000 seconds"
 ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
 ExpiresByType text/css "access plus 604800 seconds"
 ExpiresByType text/javascript "access plus 216000 seconds"
 ExpiresByType application/javascript "access plus 216000 seconds"
 ExpiresByType application/x-javascript "access plus 216000 seconds"
 ExpiresByType text/html "access plus 600 seconds"
 ExpiresByType application/xhtml+xml "access plus 600 seconds"
 </ifModule>