我正在尝试使用apache和mod_rewrite添加CORS处理。 apache实例是使用mod_jk的前端多个tomcat应用程序。其中一些应用程序有自己的逻辑用于添加CORS标头Access-Control-Allow-Origin,Access-Control-Max-Age等。
对于没有处理CORS逻辑的应用程序,我想使用mod重写在apache上管理它。
有人知道是否可以使用mod_rewrite向HTTP响应添加标头,只有当标头不存在时?如果CORS原始标头被写入两次,浏览器将报告错误。
答案 0 :(得分:1)
mod_rewrite
是重写网址,而不是设置标头。您要使用的是mod_headers
(documentation)。
我不知道mod_rewrite是否在mod_headers之前运行,但我建议使用SetEnvIf
来设置环境变量(documentation)。
您可以这样做:
SetEnvIf Request_URI "^/my/app/(.*)/?$" ADDHEADERS=1
Header set Access-Control-Max-Age 123456 env=ADDHEADERS