如何简化配置99个相似域名的CORS跨域访问权限?
简化.htaccess的CORS跨域配置(匹配1-99数字后缀域名)
你可以通过正则表达式直接匹配www后为1到99数字的域名,无需逐个罗列,修改后的配置如下:
<IfModule mod_headers.c> # 匹配http/https开头,www后接1-99数字的example.com域名 SetEnvIf Origin "http(s)?://www([1-9]|[1-9][0-9])\.example\.com$" AccessControlAllowOrigin=$0 Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin Header merge Vary Origin </IfModule>
正则规则说明:
http(s)?://:匹配http或https协议开头的请求来源www([1-9]|[1-9][0-9]):[1-9]:匹配1-9的一位数字[1-9][0-9]:匹配10-99的两位数字- 两者用
|分隔,实现1到99的完整数字范围覆盖
\.example\.com$:精确匹配域名后缀,避免误匹配其他相似域名
配置作用说明:
SetEnvIf:当请求的Origin符合正则规则时,将该Origin值存入AccessControlAllowOrigin环境变量Header add:仅当环境变量存在时,添加Access-Control-Allow-Origin响应头,值为匹配到的合法OriginHeader merge Vary Origin:告知缓存服务器,响应内容会根据请求Origin不同而变化,避免缓存异常
内容的提问来源于stack exchange,提问作者MShack
相关产品推荐
相关产品推荐

