wordpress - 我身处 Azure、CORS 和 WOFF hell

标签 wordpress azure truetype woff azure-cdn

我有一个在 Azure 网站上运行的 WordPress 网站,并且我正在尝试获取 Azure CDN 设置。我已配置端点和存储。所有文件已上传。

我的问题是 WOFF 和 TTF 文件。 Chrome 报告 200 OK 状态,但文件大小为 0KB。 Firebug 中的控制台揭示了 CORS 问题。该字体肯定无法正常工作,因为我只是得到了使用这些字体的 block 图标。

我有 Azure CORS 规则设置。这是快照...

Allowed origins: http://fonts.gstatic.com, http://cdn.devsoftsolutions.com
Allowed methods: Get, Head, Put
Allowed headers: x-ms-*
Exposed headers: x-ms-*
Max age (seconds): 200

这是我的 web.config 设置...

<staticContent>
      <remove fileExtension="svg" />
      <remove fileExtension="eot" />
      <remove fileExtension="woff" />
      <remove fileExtension="ttf" />
      <remove fileExtension=".svg" />
      <remove fileExtension=".eot" />
      <remove fileExtension=".woff" />
      <remove fileExtension=".ttf" />
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml"  />
      <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
      <mimeMap fileExtension=".woff" mimeType="application/x-woff" />
      <mimeMap fileExtension=".woff" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".ttf" mimeType="application/font-ttf" />
      <mimeMap fileExtension=".ttf" mimeType="application/vnd.ms-fontobject" />
</staticContent>

我试图让它工作的网站是 http://dev.devsoftsolutions.com

最佳答案

我想知道当您为每个扩展定义多个 mimeMap 时,您希望 WOFF 和 TTF 如何工作?!您期望 IIS 如何处理这个问题?您只能为每个扩展定义一个 MIME 映射(IIS 采用最后定义的!)。您的正确配置应如下所示:

<staticContent>
  <remove fileExtension="svg" />
  <remove fileExtension="eot" />
  <remove fileExtension="woff" />
  <remove fileExtension="ttf" />
  <remove fileExtension=".svg" />
  <remove fileExtension=".eot" />
  <remove fileExtension=".woff" />
  <remove fileExtension=".ttf" />
  <mimeMap fileExtension=".svg" mimeType="image/svg+xml"  />
  <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
  <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
  <mimeMap fileExtension=".ttf" mimeType="application/vnd.ms-fontobject" />
</staticContent>

并且您可以随时咨询IANA on which are the correct mime types 。上this demo site您将能够从 WOFF 文件中看到公文包图标。您可以使用浏览器调试工具或Fiddler来查看WOFF是否被浏览器正确传输和解释。

哦,还有一点 - 您不需要为 Google 字体启用 CORS!仅当您想使用 JavaScript 发送数据或进行 AJAX 调用时才需要 CORS! Google 字体通过简单的脚本 src 和 CSS @url() 来到您的网站,不需要 CORS。

关于wordpress - 我身处 Azure、CORS 和 WOFF hell ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26224118/

相关文章:

c++ - SDL2程序只写部分字符串

iis-7 - IIS 500 错误 - 无法在 .ttf、.svg 和 .woff 字体文件上执行 URL?

css - 需要在 WordPress 中排队才能使用 jQuery-ui ".accordion"函数?

php - 当成员(member)订阅到期时,WordPress 用户的角色设置为 "no role for this site"

sql - ASP.net C# SQL Azure 加密

azure - 尝试浏览容器时 404 ResourceNotFound

css - 大比例字体 ~ PC 与 Mac 之间的行高差异?

android - 捏合/缩放视口(viewport)规范适用于 iPhone,但不适用于 Android

javascript - 使用复选框按多个分类过滤帖子并选择

azure - 将变量从 ARM 模板传递到 Terraform