Css @仅当www.not in address时才显示字体。仅域名,正确显示

Css @仅当www.not in address时才显示字体。仅域名,正确显示,css,font-face,Css,Font Face,我在Wordpress实现中有一个客户端站点,在我的PC上的Firefox4中,当www.不在地址中时,@font-face呈现得很好。但是,如果您访问完整的URL,它将不再工作 我被难住了。有什么想法吗?听起来你正在使用Firefox默认字体策略 Firefox默认情况下不允许跨域字体(即使是子域)。请参阅以下问题,以获取此领域的一些优秀帮助: 解决同一来源字体策略的一种方法是,对字体文件使用相对链接(../fonts/font name.ttf)或绝对链接(/fonts/font name

我在Wordpress实现中有一个客户端站点,在我的PC上的Firefox4中,当www.不在地址中时,@font-face呈现得很好。但是,如果您访问完整的URL,它将不再工作


我被难住了。有什么想法吗?

听起来你正在使用Firefox默认字体策略

Firefox默认情况下不允许跨域字体(即使是子域)。请参阅以下问题,以获取此领域的一些优秀帮助:


解决同一来源字体策略的一种方法是,对字体文件使用相对链接
(../fonts/font name.ttf)
或绝对链接
(/fonts/font name.ttf)
,而不是将FQDN(完全限定域名)放在
@font face
src路径(
http://www.example.com/fonts/font-name.ttf

然而,即使您使用从样式表到字体文件的灵活文件路径,如果您在不同的域(或子域)提供CSS表单,而不是请求它,您仍然将面临相同的源策略

由于WordPress主题URL是使用路径中的完整域名生成的,这本身就是您的主要问题

例如,如果您正在查看此页面:

http://example.com/about

字体通过CSS从以下位置提供:

http://www.example.com/css/screen.css

您将遇到相同的源策略(因为CSS中指定的字体来自不同的域。请记住,子域(如“www”)在技术上被视为一个单独的域)

解决此问题的一种方法是将Apache配置为与WordPress站点地址匹配的域名

example.com->www.example.com
(反之亦然)


这样做可以确保所有图像、样式表和字体都来自同一个域,从而避免您的问题。

是否使用绝对URL嵌入?你的CSS看起来像什么?