我找到了一个.htaccess
解决方案,但如果有人知道一个可行的PHP解决方案,我会很高兴。
这是我的。htaccess支持多域访问,仅访问GET请求:
# CORS Headers
<ifModule mod_headers.c>
SetEnvIf Origin "^http(s)?://(.+\\.)?(localhost:8080|example\\.com|example\\.net)$" origin_is=$0
Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is
Header always set Access-Control-Allow-Methods "GET"
Header always set Access-Control-Allow-Headers "X-Requested-With, content-type"
</ifModule>
# BEGIN WordPress
... # default WP rules
# END WordPress
# CORS OPTIONS
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
如果只想使用一个域,可以删除以“setenif…”开头的行,下一步:
Header always set Access-Control-Allow-Origin: "http://example.com"
如果还想使用其他请求,可以用逗号分隔:
Header always set Access-Control-Allow-Methods "GET, POST, PUT, DELETE"