开发者社区> 问答> 正文

tomcat中配置的多个<host>为何共享着一个根目录?

软件运行环境: windows xp sp3 , tomcat 6.0.30
报错:tomcat无报错
问题描述:我有一个abc.com的域名,现想要增加二级域名 " a.abc.com " ,预期通过该二级域名访问一个位于 " D:a " 文件夹下的项目 ,我已在系统的 " hosts " 表中添加 " 127.0.0.1 abc.com",并在tomcat/conf 目录下的 " server.xml "中添加
`

      xmlValidation="false" xmlNamespaceAware="false" appBase="webapps">


`
运行tomcat,访问a.abc.com出现预期的效果(即 存放在 " D:a " 下的网页),但是,访问 " a.abc.com/admin " 路径却会重新定位到 "www.abc.com/admin" 下(也就是默认的localhost 的路径下),请问各位先辈,这该怎么配置才能解决这个问题?
我已尝试的方法:
修改 "server.xml" 中的标签的 appBase 属性为 " D:a " 目录,tomcat报错,错误信息的大意是 " D:a " 下找不到其他应该加载的项目。
小弟不胜感激!

展开
收起
落地花开啦 2016-03-24 15:10:26 3238 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    根据域名给tomcat设置虚拟目录的方法,根据你的描述,和配置文件中的配置。
    解释你的疑惑,
    首先你的二级域名 " a.abc.com "中没有看到你描述的DNS和你的IP进行映射对应起来,也就是说,当你访问www.a.abc.com的时候,tomcat服务器根本不知道此host对应的ip地址,就会利用配置的default host(localhost)进行处理,
    修改之后的配置,重新修改虚拟主机appBase对应的虚拟目录会自动的部署到tomcat服务器中,并且指定context path中对应的应用程序,
    tomcat报错的原因可能有:
    1、确保你的web程序目录结构符合web结构。
    2、使用ping命令查看www.a.abc.com是否能够正常的ping通,如果可以的话,可能是你的端口监听有问题,重新输入www.a.abc.com:8080试试。

    2019-07-17 19:12:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Tomcat 的云原生演进 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载