13

我正在使用 apache 服务器,我想有条件地添加标头。

如果 URI 匹配某个正则表达式,我想添加 header Access-Control-Allow-Origin: *。有什么好方法可以做到这一点?

到目前为止我已经尝试过:

  1. 我添加了请求处理程序调用的代码,使用apr_table_add(rq->headers_out, "Access-Control-Allow-Origin", "*"). Content-Type: application/x-javascript但是,只要还设置了标头,Apache 似乎就会在发送响应之前剥离标头。这是错误的方法吗?为什么 Apache 会剥离标题?

  2. 我听说过 mod_headers 建议。mod_headers 是否能够根据与请求 URI 匹配的正则表达式放置标头?

4

2 回答 2

17
SetEnvIf Request_URI somepartofurl SIGN
Header always add "Access-Control-Allow-Origin" "*" env=SIGN

但这仅在位于配置中时才有效。将其放入 .htaccess 将无济于事。

于 2014-01-22T02:34:09.910 回答
11

这也应该有效(需要 mod_rewrite):

RewriteRule ^/en/foo.*$ - [ENV=SET_ACAO:true]
Header set "Access-Control-Allow-Origin" "*" env=SET_ACAO

^/en/foo.*$与请求 URL 匹配的正则表达式

于 2017-02-20T17:22:28.287 回答