用Apache作前端反向代理遇到的问题

heqichen 2011-01-01 05:01:12
本人现在用apache作前端代理时碰到一个非常棘手的问题,是这样的
我部门有一个公网域名www.company.com,服务器上开放80端口
Apache设置成 www.company.com/main作反向代理到内网的一台机器main.company.com:8080
这样页面上的html内容都能够正常获取,但是图片 js css之类的,由于html代码中都是这样写的

<link href="/style/all.css" rel="stylesheet" type="text/css" media="all" />
<link href="/style/notes.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/javascript" src="/js/util.js"></script>
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/notes.js"></script>

所以js获取地址就变成了 www.company.com/js/notes.js了。。。。然后什么东西都出不来了。
main.company.com:8080上面跑的是用spring mvc写的WEB应用,服务器是tomcat
请问各位大侠有知道怎么样解决的吗?

当然可以页面的每个连接地址前都插入www.company.com/main,但是这样工作量实在太大了,而且以后就和这个地址耦合了,有什么好点的方法吗?
先谢谢各位了
...全文
156 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
heqichen 2011-01-08
  • 打赏
  • 举报
回复
看来只有改代码才是王道。。。
magong 2011-01-06
  • 打赏
  • 举报
回复
base没用。
base对/根目录引用不起作用。

和你的网管商量,看看能不能将你的main.company.com子域名(注意不一定是你的主机)向外网开放,哪怕换个名字如main2.company.com
或者将图片等资源放主服务器上
或者就准备批量修改文件吧
Jlins 2011-01-06
  • 打赏
  • 举报
回复
<link href="/style/all.css" rel="stylesheet" type="text/css" media="all" />
<link href="/style/notes.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/javascript" src="/js/util.js"></script>
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/notes.js"></script>

放到一个common里面[Quote=引用 1 楼 chenkezhi 的回复:]

写一个公共页面,把basePath加进去,每个页面都引用,就可以了
[/Quote]
chenkezhi 2011-01-06
  • 打赏
  • 举报
回复
写一个公共页面,把basePath加进去,每个页面都引用,就可以了
heqichen 2011-01-06
  • 打赏
  • 举报
回复
如果不用反向代理,用mod_jk不知道有没有用?

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧