2016-11-04 35 views
1

我有一個Wordpress網站通過Nginx/Ubuntu,數字海洋液滴安裝​​。從靜態域提供字體導致CORS問題 - WordPress的 - Nginx

目前,我正在優化網頁的性能。 Pingdom FPT推薦通過無Cookie域提供靜態文件。 我已經設置了它,現在它正在從靜態子域提供文件。

然而,字體我面臨的CORS問題:

使用Chrome的控制檯:在 'http://static.ux-labs.com/themes/uxlabs/betheme/fonts/mfn-icons.woff?3416171' 從原點 'http://static.ux-labs.com' 已被阻止通過CORS政策

訪問字體: 請求的資源上沒有「Access-Control-Allow-Origin」標題。

原因'http://ux-labs.com'因此不允許訪問。 (index):1從原始'http://static.ux-labs.com'訪問來自'http://static.ux-labs.com/plugins/js_composer/assets/lib/bower/font-awesome/fonts/fontawesome-webfont.woff2?v=4.5.0'的字體已被CORS策略阻止:否請求的資源上存在'Access-Control-Allow-Origin'標頭。

原因'http://ux-labs.com'因此不允許訪問。

我嘗試添加的主題的header.php

<?php /** @package WordPress @subpackage Default_Theme **/ 
    header("Access-Control-Allow-Origin: *"); 
?> 

但沒有奏效。

我也試過在nginx的添加server.conf中

location ~* \.(eot|otf|svg|ttf|woff|woff2)$ { 
    add_header Access-Control-Allow-Origin *; 
    expires max; 
} 
+0

這方面的進展如何? – nupac

回答

2

正如您在 「標準」 nginx的配置寫它應該工作....

location ~* \.(eot|otf|svg|ttf|woff|woff2)$ { 
    add_header Access-Control-Allow-Origin *; 
    expires max; 
} 

有一點需要注意的是,你要確保你沒有在正則表達式中使用這些文件擴展名的另一個位置塊。我有2個塊聲明字體文件擴展名和第一個塊加載,但不是我的CORS策略塊。一旦我加載這些擴展只有1塊一切工作正常。

如果沒有看到完整的配置,很難判斷它可能導致你失敗​​的原因。