Apache 跨域 .htaccess

本文详细介绍如何在Apache服务器上配置跨域资源共享(CORS),使主网站能够通过AJAX跨域访问图片资源站的图片。文章提供了具体步骤,包括修改httpd.conf文件,创建.htaccess配置文件,并添加跨域代码,同时提供了测试代码。

假如你有一个www.pic.com的图片资源站,想让www.main.com的主网站ajax跨域访问图片站的图片资源,就需要设置跨域.在哪设置呢?在图片站上设置,即www.pic.com这个站的服务器端设置,允许别人的域名直接访问我的图片.

当然,如果你要跨域访问的站是别人的服务器,那就没办法了.因为他不允许你用js跨域访问,你只能通过更安全的php或curl等其它方式访问才行.

如果www.pic.com图片站是apache的服务器,
则先要修改www.pic.com图片服务器的httpd.conf文件.即把下面一句的代码前面的#去掉.

LoadModule headers_module modules/mod_headers.so

然后,在www.pic.com网站的根目录中建立 .htaccess配置文件,里面增加跨域代码,如果允许所有站都可以跨域访问.则这样写,允许所有站访问可能不安全(注意,*前不得加冒号)

<IfModule mod_headers.c>
Header add Access-Control-Allow-Origin *
</IfModule>

或只允许个别网站访问,则这样,后面可以冒号,也可以不加

<IfModule mod_headers.c>
Header add Access-Control-Allow-Origin: http://c.com
</IfModule>

如果允许二个或以上的特定域名访问,则,(注意,紧挨着域名的前面不要加http,因为前面已经正则匹配了.再加就重复了)

<IfModule mod_headers.c>
SetEnvIf Origin "http(s)?://(www.)?(game.5.cn|game.7.cn)$" AccessControlAllowOrigin=$0$1
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
</IfModule>

跨域测试html代码.需要放在主站根目录中,进行测试

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<script src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.min.js" language="javascript" type="text/javascript"></script>
</head>
<body>
<script>
//注意,本html文件需要放在你的主站上,用他来跨域调用图片站
$.get("http://你的图片服务器的域名.com/2.txt", function(data){
//注意txt内容文件
  alert("Data Loaded: " + data);//弹出内容说明可以跨域了
});
	</script>
</body>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值