今天在无意间看到了Pio看板娘插件无法跨域访问json的问题。 jampang.cn/www.jampang.cn是两个域名,虽然它们指向的是同一个ip 为什么同一个目录下会有跨域呢,Typecho设置中有个[站点地址],如果你设置的是jampang.cn那对于访问www.jampang.cn就是跨域了
Nginx
在nginx的配置项中写入
#允许指定域名
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
注意一般[*]写你允许跨域访问的域名。
[*]表示允许任何请求。
修改完记得重启Nginx服务
Aapache
找到配置文件 httpd.conf
#LoadModule headers_module modules/mod_headers.so
去掉#
在指定的Directory写下面的配置
<Directory "/var/www/html">
AllowOverride None
Require all granted
Header set Access-Control-Allow-Origin *
</Directory>
注意一般[*]写你允许跨域访问的域名。
[*]表示允许任何请求。
如果有.htaccess文件
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin: "*"
Header set Access-Control-Allow-Methods: "GET,POST,PUT,DELETE,OPTIONS"
Header set Access-Control-Allow-Headers: "X-Requested-With,Content-Type"
</IfModule>
注意一般[*]写你允许跨域访问的域名。
[*]表示允许任何请求。
或者写全局配置,在httpd.conf下面添加
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin: "*"
Header set Access-Control-Allow-Methods: "GET,POST,PUT,DELETE,OPTIONS"
Header set Access-Control-Allow-Headers: "Content-Type"
</IfModule>
注意一般[*]写你允许跨域访问的域名。
[*]表示允许任何请求。 详细跨域看:CSDN 修改完记得重启Apache服务
IIS
在IIS控制面板中找到[HTTP响应标头],点进去在右侧点击添加 分两次添加
Access-Control-Allow-Headers:Content-Type
Access-Control-Allow-Origin:*
注意一般[*]写你允许跨域访问的域名。
[*]表示允许任何请求。 修改完记得重启IIS服务
评论区