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

相关内容

    暂无相关文章