与头问题设置访问控制允许来源

问题描述:

我已经在我的.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

从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