启用CORS .htaccess限制

时间:2014-08-18 09:15:16

标签: apache cors

我在生产服务器上遇到了一些行为,我想知道是否有人可以确认某些事情是否可行以及它是如何完成的。

我有一个网站www.example.com,启用了SSL,所有流量都转发到https 在该网站上,我有一个字体文件https://www.example.com/wp-content/assets/fonts/icons.ttf

我有其他广告系列网站(例如www.examplecampaign.com)使用example.com的css文件,该文件使用该字体文件加载到字体中。我实际上添加了所有相关的文件类型woff等,但为了简单起见将引用ttf。图标字体在www.example.com上显示正常但在www.examplecampaign.com上显示,因为在Firefox中我收到错误

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://www.example.com/wp-content/assets/fonts/icons.ttf. This can be fixed by moving the resource to the same domain or enabling CORS.

所以这里开始我的问题。在我们可以完全访问的舞台服务器上,我可以添加

# BEGIN REQUIRED FOR WEBFONTS

AddType font/ttf .ttf
AddType font/eot .eot
AddType font/otf .otf
AddType font/woff .woff

<FilesMatch "\.(ttf|otf|eot|woff)$">
    <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin "*"
</IfModule>

# END REQUIRED FOR WEBFONTS

到.htaccess文件,解决了这个问题。但是,在我们的客户端拥有和管理的produciton服务器上,将忽略此标头修改。我正在使用http://web-sniffer.net/对此进行测试。

为了进一步复杂化,我发现如果我刚刚添加了

 <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>

在我的舞台网站上,当我在生产服务器上请求任何页面或资源时,如果我添加了Access-Control-Allow-Origin将出现在除字体文件之外的所有页面上(以及可能的其他资源),则会出现标题

所以我的问题是,在Apache中是否可以禁用/忽略某些文件类型的标头修改以及如何完成。它如此具体,这很奇怪。我们不再拥有sudo访问权限,并且必须请求更改conf文件,这是我在.htaccess中进行此更改的原因之一,而不是我认为这在哪里设置会有所影响? example.com也是一个wordpress网站,但我认为这不会影响任何事情?因为它在舞台上工作而不是制作。

有没有人知道会以这种方式限制mod_header使用的Apache配置?

0 个答案:

没有答案
相关问题