使用WP SuperCache和CSS

时间:2017-03-12 13:22:07

标签: css wordpress fonts cdn amazon-cloudfront

我几乎已经完成了我的网站和...在激活CDN并将其安装在WP SuperFast Cache之后我在主页上获得了大量缺少的图标和网页字体。 控制台错误是

  

JQMIGRATE:已安装Migrate,版本1.4.1(索引):1访问Font   在   ' http://xyzCDN.cloudfront.net/wp-content/themes/sydney/fonts/fontawesome-webfont.woff2?v=4.5.0'   来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。 (索引):在1处获得Font   ' http://xyzCDN.cloudfront.net/wp-content/themes/sydney/fonts/fontawesome-webfont.woff?v=4.5.0'   来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。 (索引):在1处获得Font   ' http://xyzCDN.cloudfront.net/wp-content/themes/sydney/fonts/fontawesome-webfont.ttf?v=4.5.0'   来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。 (索引):在1处获得Font   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/widgets/post-carousel/css/fonts/carousel-arrows.woff?-95vnmw'   来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。 (索引):在1处获得Font   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/widgets/post-carousel/css/fonts/carousel-arrows.ttf?-95vnmw'   来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。 (索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/icons/fontawesome/font/fontawesome-webfont.woff2?v=4.6.3'   来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。 (索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/jetpack/_inc/genericons/font/genericons-regular-webfont.woff'   来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。 (索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/icons/fontawesome/font/fontawesome-webfont.woff?v=4.6.3'   来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。 (索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/icons/fontawesome/font/fontawesome-webfont.ttf?v=4.6.3'   来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。缩小-B1-搜索过滤器插件 - 构建 - 72b0092 ... .js文件:6   [cycle2] --c2 init--(index):1访问Font   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/css/slider/fonts/slider.woff?8p86w5'   来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。 (索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/css/slider/fonts/slider.ttf?8p86w5'来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。 (索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/jetpack/_inc/genericons/font/genericons-regular-webfont.ttf'   来自原产地' http://www.example.com'已被CORS阻止   政策:否'访问控制 - 允许 - 来源'标题出现在   请求的资源。起源' http://www.example.com'因此不是   允许访问。响应的HTTP状态代码为404.

所以我决定不配置Amazon W3以避免这种冲突,我选择不从CDN提供webfont,而是从原始url example.com提供服务。

所以我进入了WP超级缓存CDN标签,我将这一行添加到"排除了子串"领域:

.php, font-awesome.css, font-awesome.min.css, fonts, .ttf, .otf, .eot, .woff

我加入了CSS:

@font-face {
  font-family: 'fontawesome';
  src: 
   url('http://example.com/wp-content/plugins/so-widgets-bundle/icons/fontawesome/font/fontawesome-webfont.woff2?v=4.6.3');
  src:
 url('http://example.com/wp-content/plugins/so-widgets-bundle/icons/fontawesome/font/fontawesome-webfont.ttf?v=4.6.3') format('truetype'),
     url('http://example.com/wp-content/plugins/so-widgets-bundle/icons/fontawesome/font/fontawesome-webfont.svg?v=4.6.3') format('svg'),
  url('http://example.com/wp-content/plugins/so-widgets-bundle/icons/fontawesome/font/fontawesome-webfont.eod?v=4.6.3') format('embedded-opentype'),
    url('http://example.com/wp-content/plugins/so-widgets-bundle/icons/fontawesome/font/fontawesome-webfont.woff2?v=4.6.3') format('woff');

}

@font-face {
  font-family: 'carousel-arrows';
  src:  
  url('http://example.com/wp-content/plugins/so-widgets-bundle/widgets/post-carousel/css/fonts/carousel-arrows.woff?-95vnmw'); 
}

但是,如果有一方我看到我用carousel-arrows.woff和主题的awesomefonts修正了错误,那么它并没有修复其他错误。

  

(索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/icons/fontawesome/font/fontawesome-webfont.woff2?v=4.6.3'   来自原产地' http://www.example.com'被CORS政策阻止:没有   '访问控制允许来源'标题出现在请求的上   资源。起源' http://www.example.com'因此不允许访问。   (索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/jetpack/_inc/genericons/font/genericons-regular-webfont.woff'   来自原产地' http://www.example.com'被CORS政策阻止:没有   '访问控制允许来源'标题出现在请求的上   资源。起源' http://www.example.com'因此不允许访问。   (索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/icons/fontawesome/font/fontawesome-webfont.woff?v=4.6.3'   来自原产地' http://www.example.com'被CORS政策阻止:没有   '访问控制允许来源'标题出现在请求的上   资源。起源' http://www.example.com'因此不允许访问。   (索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/icons/fontawesome/font/fontawesome-webfont.ttf?v=4.6.3'   来自原产地' http://www.example.com'被CORS政策阻止:没有   '访问控制允许来源'标题出现在请求的上   资源。起源' http://www.example.com'因此不允许访问。   minify-b1-search-filter-plugin-build-72b0092 ... .js:6 [cycle2] --c2   init--(index):1访问Font   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/css/slider/fonts/slider.woff?8p86w5'   来自原产地' http://www.example.com'被CORS政策阻止:没有   '访问控制允许来源'标题出现在请求的上   资源。起源' http://www.example.com'因此不允许访问。   (索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/so-widgets-bundle/css/slider/fonts/slider.ttf?8p86w5'来自原产地' http://www.example.com'被CORS政策阻止:没有   '访问控制允许来源'标题出现在请求的上   资源。起源' http://www.example.com'因此不允许访问。   (索引):1访问字体   ' http://xyzCDN.cloudfront.net/wp-content/plugins/jetpack/_inc/genericons/font/genericons-regular-webfont.ttf'   来自原产地' http://www.example.com'被CORS政策阻止:没有   '访问控制允许来源'标题出现在请求的上   资源。起源' http://www.example.com'因此不允许访问。   响应的HTTP状态代码为404.

所以,我们从13个错误到7个错误,但我不知道为什么我仍然会得到这7个错误。

1 个答案:

答案 0 :(得分:0)

CORS表示Cross-Origin Resource Sharing,因此我必须假设您的iframe指向可以在其他域上找到的页面。由于安全目的,浏览器限制此操作。您可以通过创建将向目标请求的代理页来纠正这种情况。您可以通过代理页面加载目标。但是,在这种情况下,脚本,链接,锚点和图像路径可能会被破坏。坏消息是你需要自己解决这个问题。