apache 配置反向代理解决javascript ajax跨域问题

1、打开apache下的http.conf 文件。
找到

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so

把前面的#去掉。(如果不开启这3个的话,ajax post 数据会出现http 500错误)

2、在http.conf文件末尾加上以下代码

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass /foo/ http://foo.example.com/bar/
ProxyPassReverse /foo/ http://foo.example.com/bar/

说明 /foo/ 是本地服务器根目录下的foo文件夹。 这个文件夹映射到http://foo.example.com/bar/ 这里。

3、重启apache即可!

js就可以实现跨域post了。

$.post("http://localhost/foo/test.php")

实际是post到:http://foo.example.com/bar/test.php

相关参考网址:http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_proxy.html

http://shiningray.cn/proxypass-directive-in-apache.html

http://blog.csdn.net/paulluo0739/archive/2008/04/08/2260137.aspx

发表评论

电子邮件地址不会被公开。 必填项已用*标注