【apache】mod_proxy 和 mod_rewrite实现js跨域
RewriteRule 指令是重写规则。[*] last|L 这个标记用于阻止当前已被重写的 URL 被后继规则再次重写。
[*] redirect|R [=code] 若Substitution以http://thishost[:thisport]/(使新的URL成为一个URI)开头,可以强制性执行一个外部重定向,是跨域或定向到外部域的必备良药。默认为 HTTP 响应码为 302, 我通常指定为301。
[*] proxy|P 此标记使替换成分被内部地强制作为代理请求发送,表明该 rewrite 是通过 mod_proxy 代理过去,而不是通过外部重定向过去。
[*] nocase|NC 忽略大小写,也就是在Pattern与当前 URL 匹配时,’A-Z’和’a-z’没有区别。
2、(mod_rewrite官方文档中文详解) http://man.chinaunix.net/newsoft/ApacheManual/misc/rewriteguide.html
下面是我根据上面2篇参考自己写的:
1、下载apache代理服务器 http://apache.etoak.com//httpd/binaries/win32/httpd-2.2.21-win32-x86-no_ssl.msi
2、安装后,打开安装目录下conf/httpd.conf文件
3、去掉注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
在最下面增加:
SetHandler proxy-server
order allow,deny
Allow from all
RewriteEngine on
RewriteRule ^/web1/(.*)$ http://localhost:8080/web1/$1
RewriteRule ^/web2/(.*)$ http://localhost:8082/web2/$1
这样配置就完成了,解释下上面两个 rewriterule 的含义,其余的找上面给出的两篇资料参考
上面的web1和web2其实是两个项目部署在不同的tomcat中,端口分别为8080和8082
web1中的index.jsp文件:
页:
[1]