网页文件里面用到的全部是相对路径,apache与tomcat整合后,访问http://mydomain.com/会指向tomcat的8080端口,即为http://mydomain.com:8080/
但是页面里面的连接指向的地址依然是http://mydomain.com:8080/xxx,除了改每个页面中的连接路径为http://mydomain.com/xxx(估计要累死。。)还有什么办法能够修改程序的路径吗?
提前谢~

解决方案 »

  1.   

    Apache的反向代理支持地址的自动转换,不知道你是怎么配置的?
      

  2.   

    在Tomcat下页面地址是http://mydomain.com:8080/xxx吗?既然都是采用相对路径,将你的系统移到ROOT目录下应该就可以
      

  3.   


    移到root下面,页面上的地址还是指向8080端口的,我是想实现所有页面下面的连接都指向以http://mydomain.com/ 开头的地址。
      

  4.   


    非常简单,而且优美。假设你Apache服务器端口是80,那么你配置:
    ProxyPass /xxoo http://127.0.0.1:8080/xxoo
    ProxyPassReverse /xxoo http://127.0.0.1:8080/xxoo那么当你访问: http://mydomain.com/xxoo
    这些请求就会自动转发给: http://127.0.0.1:8080/xxoo
    而且这些过程都发生在内部,最终用户不知道这个转发过程。
      

  5.   


    明白反向代理是什么意思了,但并没有解决全部的问题。
    我所有jsp页面里面的路径都写的是相对路径,apache占用的是80端口,tomcat占用的是8080端口,但是网页内部的所有链接指向的依然是是tomcat的8080。
    所以,用户进入首页后,点击其他链接,去的依然是tomcat的8080,我想有没有什么方法能够将页面里面的相对路径都改成80端口下面的路径。
      

  6.   


    网页内部链接,不应该出现服务器的地址和端口号。应该是:
      /xxoo/xxoo.jsp  或者  /servlet/xxoo
    这种情况下,Apache就可以完美搞定,这基本上是所有主流网站的通用做法。如果你的网页内部链接写法都是:http://xxxooo.com:8080/xxoo/xxoo.jsp 显然是不合理的,本身就应该进行修正。
      

  7.   


    明白了~因为jsp是myeclipse自动生成的,所以有basePath,basePath是指向的项目地址,所以后面的地址都会带上8080的端口,把basePath换成域名就OK了,不过这么多jsp文件,替换起来好麻烦。。
      

  8.   

    用UtralEdit来对整个目录中所有JSP文件进行批量替换吧,这种替换目标性强,不容易出问题。