apache + tomcat +js + css 实现分离跨域
结合上一篇http://www.2cto.com/os/201112/112841.html,继续分离站点的资源,到不同的站点上去
一个java站点,使用tomcat服务器,那么需要把站点的css 、images、js都需要分离。用不同的域名的话,会碰到跨域的情况。为此,使用apache的代理来实现分离工作
css 、images、js资源全部放到
src.test.com/css/……
src.test.com/images/……
src.test.com/js/……
java 站点tomcat 服务器访问方式
ajp://127.0.0.1:8009/
其实是http://127.0.0.1:8080/
apache httpd.conf 配置
<VirtualHost *:80>
ServerName mnr.test.com
RewriteEngine on
RewriteRule ^/(.*) ajp://www.2cto.com /sub/$1 [P]
</VirtualHost>
之后通过http://sub.test.com 方式访问站点
因为css 、images、js资源是独立域名,有可能是在其他的服务器上,但是必须在子域名中同域名方式调用才能避免跨域的情况。
<VirtualHost *:80>
ServerName mnr.test.com
RewriteEngine on
ProxyPass /js/ http://src.test.com/js/
ProxyPass /css/ http://src.test.com/css/
ProxyPass /images/ http://src.test.com/images/
RewriteRule ((?!/((js)|(css)|(img))/)^.*$) ajp://127.0.0.1:8009/sub/$1 [P]
</VirtualHost>
重启apache,就能以
调用对应关系:
sub.test.com/css src.test.com/css/……
sub.test.com/images src.test.com/images/……
sub.test.com/js src.test.com/js/……
sub.test.com 资源都是访问tomcat目录下的资源
作者 bayaci