apache + tomcat +js + css 实现分离跨域

来源:互联网 发布:网络约租车管理办法 编辑:程序博客网 时间:2024/05/29 02:08

http://blog.csdn.net/bayaci/article/details/7033722

结合上一篇,继续分离站点的资源,到不同的站点上去


一个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://127.0.0.1:8009/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目录下的资源