因为 microsoft internet explorer 和 microsoft edge 不支持内容安全策略版本 2,或者对于 IE,根本不支持它,我想根据用户代理更改内容安全策略。这对 PHP 来说相当简单,但我想用 .htaccess 文件来做到这一点。问题是; 这是否可能以及如何。到目前为止,我发现了很多重写规则,但没有 mod_headers 这样做。
寻找这样的东西:
Header set Content-Security-Policy: ...
<UserAgentMatch "(Edge|Internet Explorer)$">
Header unset Content-Security-Policy
</UserAgentMatch>
任何人都知道我该如何做到这一点,如果可能的话?
更新:
Walf 的答案给出了内部服务器错误,但经过一些微调后得到了解决方案。对于那些寻找相同的人,请参阅下面的代码。
<If "%{HTTP_USER_AGENT} !~ /(MSIE|Edge)s*/i">
header always set Content-Security-Policy "..."
</If>