2016-09-06 51 views
0

我已經在我的.htaccess文件如下:與頭問題設置訪問控制允許來源

頭設置訪問控制允許來源:「*」

它完美!但這是不好的安全措施。

當我將其更改爲:

頭設置訪問控制允許來源:「http://example.com

我收到以下錯誤:

跨來源請求阻止:將同源策略不允許在http://example.com/oc/catalog/view/javascript/font-awesome/fonts/fontawesome-webfont.woff2?v=4.4.0處讀取遠程資源。 (原因:CORS頭'Access-Control-Allow-Origin'不匹配'http://example.com')。

我該如何處理?

+0

錯誤消息不說。如果確實如此,那麼您已經爲*相同來源*的請求生成了一個交叉原點錯誤。它看起來像是通過用'example.com'替換每個主機名來清理URL,並在此過程中隱藏了問題。 – Quentin

+0

我沒有對網址進行任何更改,只是將網站名稱更改爲示例。如果您希望我列出未經編輯的信息,請告訴我。請注意,通過www.example.com而不是example.com登錄網站時出現此錯誤。 – user3980196

+0

是的,請列出未經編輯的信息。目前,該問題聲稱您正在從'http:// example.com /'向'http:// example.com /'發出請求,並且由於它不是來自http://示例而被阻止。 COM /'。 – Quentin

回答

0

從Live網站:

Font from origin 'http://arvindint.com' has been blocked from loading by Cross-Origin Resource Sharing policy: The 'Access-Control-Allow-Origin' header has a value 'http://arvindint.com' that is not equal to the supplied origin. Origin 'http://www.arvindint.com' is therefore not allowed access.

從從OP評論:

Please note, I get this error when accessing the website through www.example.com instead of example.com

那是你的問題。

如果您授予example.com而不是www.example.com,那麼您將無法從www.example.com訪問它。

權限基於每個來源,而不是以每秒級別爲基礎。

選擇兩個主機名之一(帶或不帶www)並堅持下去。從一個到另一個重定向。不要將您的網站託管在兩個不同的主機名上。這樣做比麻煩更麻煩。

+0

感謝您對重定向的建議。然而,如果我想讓上述情況起作用,我還應該在頭文件中設置Access-Control-Allow-Origin:「http://www.example.com」到htaccess文件中? – user3980196

+0

不可以。您只能提供一個值。如果您沒有使用通配符並需要支持多個來源,那麼您必須動態生成它。如果您不想使用通用*,則不能使用靜態值。 – Quentin

相關問題