2017-02-13 96 views
-1

像Google PageSpeed这样的缓存检查网站会持续显示我的文件只缓存2个小时。我的htaccess文件有问题吗?规则的顺序?谢谢我的.htaccess代码错了吗?

- 文件中的所有其他规则的工作。 (好吧,我确实有一些代码,关闭ETags似乎也没有工作)

- 我使用CloudFlare但支持告诉我没有什么影响缓存时间的cloudflare。

AddCharset UTF-8 .html 
RewriteEngine on 
RewriteOptions inherit 
Options +FollowSymLinks 

RewriteCond %{HTTP_HOST} ^domain.com [NC] 
RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301,NC] 

################ Require ending trailing slash 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ 
RewriteRule ^(.*)$ %{REQUEST_URI}/ [R=301,L] 

## EXPIRES CACHING ## 
<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresByType image/jpg "access plus 1 year" 
ExpiresByType image/jpeg "access plus 1 year" 
ExpiresByType image/gif "access plus 1 year" 
ExpiresByType image/png "access plus 1 year" 
ExpiresByType text/css "access plus 1 month" 
ExpiresByType application/pdf "access plus 1 month" 
ExpiresByType text/x-javascript "access plus 1 month" 
ExpiresByType application/x-shockwave-flash "access plus 1 month" 
ExpiresByType image/x-icon "access plus 1 year" 
ExpiresDefault "access plus 1 month" 
</IfModule> 
## EXPIRES CACHING ## 


<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$"> 
Header set Cache-Control "max-age=31536000, public" 
</filesMatch> 


## ENABLE COMPRESSION ## 
AddOutputFilterByType DEFLATE text/plain 
AddOutputFilterByType DEFLATE text/html 
AddOutputFilterByType DEFLATE text/xml 
AddOutputFilterByType DEFLATE text/css 
AddOutputFilterByType DEFLATE application/xml 
AddOutputFilterByType DEFLATE application/xhtml+xml 
AddOutputFilterByType DEFLATE application/rss+xml 
AddOutputFilterByType DEFLATE application/javascript 
AddOutputFilterByType DEFLATE application/x-javascript 

AddType application/x-httpd-php .html .htm 

ErrorDocument 404 /404.php 
ErrorDocument 410 /410.php 

然后我有几个的RewriteCond的

+0

您是否启用了mod_expires?如果不是,则会跳过''。注释掉周围的''行来强制所有'Expires'运行 - 500错误是否会炸毁? –

+0

我建议你编辑你的帖子以将你的域名从重写规则中删除 - 如果你保持原样,这可能被误解为垃圾邮件。 –

+0

我删除了,但没有任何更改。 我也更换了域名,我将它留在那里以防有人想要进行测试。 – Cypher

回答

0

有一个指定mod_expires覆盖安装在Apache的配置文件虚拟主机。