java - 将多个域转换为 Tomcat 应用程序中的路径

标签 java apache tomcat url-routing

如果我有 2 个域和 2 个子域:

examples.com
dogs.tutorials.com
cats.tutorials.com

我想从一个 Tomcat 服务器为它们提供服务,作为来自以下应用程序入口路径的 Java 应用程序:

localhost/app/examples/
localhost/app/tutorials/dogs/
localhost/app/tutorials/cats/

例如:

dogs.tutorials.com/search/?f=terrier

应该翻译成:

/tutorials/dogs/search/?f=terrier

是否可以配置 Apache 或 Tomcat 来实现这个目标?怎么样? 我不确定是否需要 apache。这是一个 java 应用程序,所以 apache 不应该提供任何内容,只是可以用来将路径转换为域,我不想使用不同的端口,因为这将是一个应用程序。)

最佳答案

这也需要实时重写来自服务器的响应,因为您的 webapp 创建的任何 url 都会说 /tutorials/dogs/search/?f=terrier,并且必须由dogs.tutorials.com/search/?f=terrier 的 Apache 前端。

更新 mod_rewrite 的组合和 mod_substitution应该可以做到。

出于性能和复杂性的原因,我不推荐这样做。

但是,如果这 3 个 URL 实际上是 3 个不同的 Web 应用程序,那么您可以使用 virtual hosting 来完成,其中 3 个网络应用程序是 3 个不同虚拟主机的 ROOT 应用程序。

关于java - 将多个域转换为 Tomcat 应用程序中的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37493160/

相关文章:

Java Spring WS 客户端 - tomcat 或 apache 干扰?

java - 如何在 Android 中正确使用应用内计费服务?

java - 通过抽象来强制执行 hashCode 和 equals 是否有任何优势?

java - Tomcat 7 Liferay 6.2 关于损坏数据库的奇怪错误

apache - 引用:mod_rewrite,URL重写和“漂亮链接”说明

tomcat - 如何在 Tomcat 7 上配置 LDAPS 身份验证

java - System.getProperty ("user.home") 在 Tomcat 上运行时返回/root

java - 如何在java中将图像添加到窗体

Java Scanner next (".") 给我 java.util.InputMismatchException

regex - 带有可选斜杠的简单重写规则