mod_rewrite:如果标题不存在则添加标题

时间:2015-12-14 13:00:12

标签: apache mod-rewrite cors

我正在尝试使用apache和mod_rewrite添加CORS处理。 apache实例是使用mod_jk的前端多个tomcat应用程序。其中一些应用程序有自己的逻辑用于添加CORS标头Access-Control-Allow-Origin,Access-Control-Max-Age等。

对于没有处理CORS逻辑的应用程序,我想使用mod重写在apache上管理它。

有人知道是否可以使用mod_rewrite向HTTP响应添加标头,只有当标头不存在时?如果CORS原始标头被写入两次,浏览器将报告错误。

1 个答案:

答案 0 :(得分:1)

mod_rewrite是重写网址,而不是设置标头。您要使用的是mod_headersdocumentation)。

我不知道mod_rewrite是否在mod_headers之前运行,但我建议使用SetEnvIf来设置环境变量(documentation)。

您可以这样做:

SetEnvIf Request_URI "^/my/app/(.*)/?$" ADDHEADERS=1

Header set Access-Control-Max-Age 123456 env=ADDHEADERS