不改变上下文的 Tomcat 默认应用程序

标签 tomcat root

我制作了一个网络应用程序并将其作为 in.war 放在 tomcat webapps 文件夹中

为了使其可访问,我在 ROOT 文件夹的 index.html 中添加了一个元重定向条目,这样当有人 输入 www.mydomain.com,他会被重定向到 www.mydomain.com/in

我的网站中有很多页面,例如 www.mydomain.com/in/rest/page

现在我想要的是我的应用程序成为根应用程序。

因此,当有人键入 www.mydomain.com 时,他可以在该 url 本身上看到我的主页,而无需任何重定向。

但所有旧链接也应该有效,因为我的所有页面都已被主要搜索引擎抓取并编入索引。

请告诉我如何以最好的方式做到这一点。

问候

最佳答案

如果您希望您的 webapp 成为“root”webapp(即以“/”开头访问),那么您需要将 WAR 文件重命名为 ROOT.war(大小写很重要,即使在不区分大小写的文件系统)。

之后,您需要将所有旧 URL 映射到新 URL。这是一种方法:

给自己一份 urlrewrite (http://www.tuckey.org/urlrewrite/)。在新重命名的 ROOT webapp 中安装并配置它,以将所有/in/* 请求映射到/*。如果需要,您可以将所有这些请求都发送到 301 重定向中,这意味着资源已永久移动。行为良好的代理和搜索引擎应该相应地更新他们的 URL。

关于不改变上下文的 Tomcat 默认应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10650867/

相关文章:

java - Spring Boot v2.0看不到模板

linux - Python/C++ 扩展。导入时,出现 undefined symbol 错误

ruby-on-rails - Linux - 以非 root 身份运行 root 安装的程序

tomcat - 使用 Ant 启动和停止 Tomcat 服务

Tomcat vs Glassfish,jpa 两者都可以吗?

tomcat - 在tomcat7中带参数重定向

java.lang.OutOfMemoryError : PermGen space still exist 错误

linux - 以 root 用户身份在 jenkins 中运行 shell 命令?

linux - root@localhost 权限被拒绝 ssh

css - rails 应用程序,更改根/指定根路径