我正在使用apache服务器,我想有条件地添加标头。
如果URI与某个正则表达式匹配,我想添加标题Access-Control-Allow-Origin: *
。有什么好办法呢?
到目前为止我尝试过:
我使用apr_table_add(rq->headers_out, "Access-Control-Allow-Origin", "*")
添加了请求处理程序调用的代码。但是,每当标头Content-Type: application/x-javascript
也被设置时,似乎Apache在发送响应之前剥离了标头。这是错误的方法吗?为什么Apache会删除标题?
我听说mod_headers建议了。 mod_headers是否能够根据与请求URI匹配的正则表达式放置标题?
答案 0 :(得分:14)
SetEnvIf Request_URI somepartofurl SIGN
Header always add "Access-Control-Allow-Origin" "*" env=SIGN
但仅当位于配置中时才有效。将它放入.htaccess不会有帮助。
答案 1 :(得分:9)
这也应该有用(需要mod_rewrite):
RewriteRule ^/en/foo.*$ - [ENV=SET_ACAO:true]
Header set "Access-Control-Allow-Origin" "*" env=SET_ACAO
其中^/en/foo.*$
是与请求网址匹配的正则表达式