我必须说我尝试了很多可能性,但我对 Apache WS 的了解不是太高。
Apache Web Server version: 2.2.22
OS: Centos 6 64 bits
Tomcat version: 7.0.57
我需要实现的是: 我有一些这样定义的普通网站:
<VirtualHost *:80>
ServerAdmin example1@example1.com
DocumentRoot "/opt/sites/example1/"
ServerName example1.com
ErrorLog logs/example1-error_log
CustomLog logs/example1-access_log common
RedirectMatch permanent ^/(.*) http://www.example1.com/$1
</VirtualHost>
<VirtualHost *:80>
ServerAdmin example1@example1.com
DocumentRoot "/opt/sites/example1/"
ServerName www.example1.com
ErrorLog logs/example1-error_log
CustomLog logs/example1-access_log common
</VirtualHost>
我有一个带有多个 webapps 的 tomcat,每个 webapps 都可以通过自己的上下文访问。 我必须从不同的域访问每个 Web 应用程序。例如,我有以下网络应用程序:wbExample1、wbExample2、wbExample3
应该可以这样访问:
www.example1.com/wbExample1
www.example2.com/wbExample2
www.example3.com/wbExample3
因此,为每个网站定义的域也必须访问特定的 webapp。
另外,我想知道 www.example1.com/wbExample1 是否可以通过 url www.example1.com/contact 访问而不显示名称Web 应用程序的上下文并显示文本 contact 或 contact.html。
非常感谢您的宝贵时间。
最佳答案
你可以做到。首先,您需要设置从 Apache WebServer 到 Apache Tomcat 的重定向。如何sdo可以查到here .只需删除“/blog* no-jk”行即可。
您需要做的第二件事是创建虚拟主机:
<VirtualHost *:80>
将监听所有域,在这种情况下,您可以这样保留。编辑 [Tomcat]/conf/server.xml 并为每个域添加虚拟主机,具有不同的名称和 appBases:
<Host name="example1.com" appBase="webapps-example1" unpackWARs="true" autoDeploy="true">
...
</Host>
在默认“webapps”目录旁边创建目录:“webapps-example1”,...确保 Tomcat 可以访问它们。
重新启动 Tomcat 并将您的应用程序部署为虚拟主机的根上下文,即:[Tomcat]/webapps-example1/ROOT。您可以通过在部署前将它们重命名为 ROOT.war 来实现。这样您就可以访问您的应用程序而无需额外的应用程序名称。
关于apache - 重定向到同一个 Tomcat 中的多个 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31046766/