CSS 字体(例如font-awesome),子域名不能正确显示
症状
原来能正常显示的情况下,将js、css、图片文件改为子域名访问,方便cdn加速。切换之后一切正常,但是font-awesome的图片没有正确显示,全部显示框框
原因
因为浏览器的安全规则,虽然是子域名,但是css跨域载入字体文件的时候被浏览器拦截,导致了显示不正常。
解决
以apache为例,修改.htaccess或者 httpd.conf
<IfModule mod_headers.c>
# Make sure proxies don’t deliver the wrong content
Header append Vary User-Agent env=!dont-vary
<FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>