如果我通过www.domain.tld
访问我的网站,则省略@font-face
规则。
如果我转到domain.tld
(没有' www'部分)@font-face
被视为。
所有其他css格式都适用于两种情况。
@font-face {
font-family: 'font-name';
src: url(../fonts/font-name.eot);
src: local("font-name"), url(../fonts/font-name.ttf) format("truetype");
}
在我的Django settings.py
中:
STATIC_ROOT = '/var/www/domain.tld/static/'
STATIC_URL = 'http://domain.tld/static/'
如果我将其更改为STATIC_URL = 'http://www.domain.tld/static/'
,@font-face
上的domain.tld
规则将被忽略,并在www.domain.tld
上被视为反向行为。
<VirtualHost *:80>
CustomLog /var/log/apache2/domain.tld.log combined
ServerName domain.tld
ServerAlias www.domain.tld
WSGIScriptAlias / /var/www/domain.tld/wsgi
Alias /static/ /var/www/domain.tld/static/
Alias /robots.txt /var/www/domain.tld/static/robots.txt
Alias /favicon.ico /var/www/domain.tld/static/img/favicon.ico
</VirtualHost>
答案 0 :(得分:1)
某些浏览器拒绝跨域Web字体嵌入(不确定它是否适用于全部或部分浏览器),我相信这应该保持原样(安全方面)。 除此之外,您不需要STATIC_URL或MEDIA_URL的FQDN,您的Web服务器负责提供静态内容,该URL用于为资产加载提供可识别的URL。因此,如果您从子域访问您的网站,如果静态中有FQDN,那么一切都将起作用,删除FQDN并只使用您想要的目录名,也可以更轻松地将设置移植到沙箱或生产系统有多个子域名。 你还可以进一步检查这个stackoverflow问题(提供了一些解决方案,但我不知道它是否正常工作,因为我从未遇到过这样的问题):