当我使用Google PageSpeed Insight分析我的网站时,我应该修复一些有关压缩SVG文件的问题。
我一直在网上试图寻找解决这个问题的方法,但无论我做什么它似乎都没有用,所以我现在问你们。
我已经检查过gzip是否通过网络上的多个工具启用了,这似乎是真的。
到目前为止,我在.htaccess文件中得到了这个。
RewriteEngine On
Options FollowSymLinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /#/$1 [L]
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType text/css "access 1 week"
ExpiresByType text/html "access 1 day"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType image/x-icon "access 1 month"
ExpiresByType image/svg "access 1 month"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##
## FILE COMPRESSION ##
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|svg|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_include mime ^image/svg+xml.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
## FILE COMPRESSION ##
# mod_deflate configuration
<IfModule mod_deflate.c>
# Restrict compression to these MIME types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xml+rss
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE image/svg
AddOutputFilterByType DEFLATE image/svg+xml
<IfModule mod_headers.c>
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
我真的希望有人能够解决我的问题,因为我已经尝试了好几个小时了。
浏览器缓存对SVG也不起作用。也许有类似的问题?
答案 0 :(得分:10)
反应非常晚,但我今天也在寻求同样的答案。
标题行的正确过期将是:
ExpiresByType image/svg+xml "access 1 month"
同样,image / svg + xml可用于gzip声明。
答案 1 :(得分:4)
请在.htaccess中使用这三个:
AddType image/svg+xml .svg
AddOutputFilterByType DEFLATE image/svg+xml
################ Expires Control ################
ExpiresByType image/svg+xml "access 1 month"
肯定会在网站上启用对svg文件的压缩。