htaccess下配置跨域的方法
允许所有域名访问
当在本地进行调试的时候,使用vue构建的页面192.168.1.105:8080 去访问http:192.168.1.105(默认80端口)的时候,会提示禁止跨域访问。如果是使用动态php接口的话,只要设置header就可以。
header('Access-Control-Allow-Origin:*');
但是当访问的是json静态文件的时候,一切就都不美好了。这时候如果本地是xampp的apache服务器。可以使用.htaccess文件进行配置
<IfModule mod_headers.c>
Header add Access-Control-Allow-Origin: *
</IfModule>
指定域名跨域
<IfModule mod_headers.c>
Header add Access-Control-Allow-Origin: "http://www.wubin.work"
</IfModule>
指定多域名跨域
<IfModule mod_headers.c>
SetEnvIf Origin "http(s)?://(www.)?(wubin.work|wubin.com)$" AccessControlAllowOrigin=$0$1
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
</IfModule>
修改http.conf文件
1.首先找到 httpd.conf 文件
找到 #LoadModule headers_module modules/mod_headers.so
把#注释符去掉(也有可能已经默认去掉了)
目的是开启apache头信息自定义模块。
2.找到你的虚拟主机文件 注意是被跨域的网站的。
具体内容是这样的文件<Directory> ... </Directory> 如下
<Directory "D:/xampp/htdocs">
AllowOverride All
Require all granted
#对所有域名开放
Header set Access-Control-Allow-Origin *
#对指定域名开放
Header set Access-Control-Allow-Origin http://www.wubin.work
</Directory>
然后在这段内容里面,加入如下语句:
#对所有域名开放
Header set Access-Control-Allow-Origin * (这样加上一行)
#对指定域名开放
Header set Access-Control-Allow-Origin http://www.wubin.work (或者这样加上一行)
OK,本地跨域问题搞定。(当然也可以使用JSONP的形式解决这个问题)