我在使用@ font-face安装字体时无法使用新的静态子域。
我一直在遵循设置IT Support Guides概述的无Cookie子域的步骤。
当我添加:
define("WP_CONTENT_URL", "http://static.example.net");
define("COOKIE_DOMAIN", "www.example.net");
define("WP_PLUGIN_URL", "http://static.example.net/plugins");
wp.config 文件和
<FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "http://www.example.net" env=IS_CORS
</FilesMatch>
<FilesMatch "\.(eot|otf|ttc|ttf|woff)$">
Header set Access-Control-Allow-Origin "http://www.example.net"
</FilesMatch>
到 .htaccess ,我在我的主题文件夹中安装的字体出现了跨源错误(字体未显示)。
我猜我没有用.htaccess文件做正确的事,但我不确定是什么。我在一些人中看到使用&#34; *&#34;而不是&#34; example.net&#34;,但这似乎没有帮助。
有什么想法吗?
修改
以下是我在Chrome中看到的错误: &#34;来自原产地的字体&#39; http://static.example.net'已被跨源资源共享策略阻止加载:“访问控制 - 允许 - 来源”&#39;标题有一个值&#39; http://www.example.net'这不等于提供的原产地。起源&#39; http://example.net'因此不允许访问。
答案 0 :(得分:1)
修正了它!
看来shideshowbarker可能走在正确的轨道上。我将wp.config更改为:
<FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "http://example.net" env=IS_CORS
</FilesMatch>
<FilesMatch "\.(eot|otf|ttc|ttf|woff)$">
Header set Access-Control-Allow-Origin "http://example.net"
</FilesMatch>
今天就开始工作了。我以前试过这个,但因为我使用的是CDN,所以必须使用wp.config的缓存版本,同时拉动新的htaccess文件。由于它没有更新wp.config,即使我更改了文件,我仍然会收到相同的错误。
将wp.config中的更改保留几天可能足以让CDN更新缓存。或者我可以告诉CDN清空缓存。