<FilesMatch "\.(json|txt)$" >
SetEnvIf Origin "http(s)?://(www\.)?(sub.domain.com|sub2.domain.com|www.domain2.com)$" AccessControlAllowOrigin=$0$1
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"
</FilesMatch>
如果我在它上面使用中间块(没有FilesMatch)那么它可以工作,我可以提出我的请求。如果我通过将拒绝来自其中的所有来测试我的FilesMatch,那么它显然也能正常工作。但把它们放在一起,我无法提出要求。它看起来很糟糕,但没有凭据并抛出 Access-Control-Allow-Origin 警告。
答案 0 :(得分:1)
尝试将 \。放在括号
中<FilesMatch "(?<!\.json|\.txt)$">
尝试将表达式括在字符串中,例如&#34;%{AccessControlAllowOrigin} e&#34;
<FilesMatch "(?<!\.json|\.txt)$" >
SetEnvIf Origin "http(s)?://(www\.)?(sub.domain.com|sub2.domain.com|www.domain2.com)$" AccessControlAllowOrigin=$0$1
Header add Access-Control-Allow-Origin "%{AccessControlAllowOrigin}e" env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"
</FilesMatch>