对于 example.com,应用程序库
a) www.example.com & example.com is /home/example/public_html/e
- 一个wordpress网站。
b) 任何其他 *.example.com /home/example/public_html
- Java Web 应用程序。
为此,在服务器.xml中,我维护以下内容
a) 对于 www & example.com
<Host name="example.com" appBase="/home/example/public_html/e" ...>
<Alias>www.example.com</Alias>
...
</Host>
b) 对于其他通配符,以下内容不起作用
<Host name="*.example.com" appBase="/home/example/public_html" ...>
...
</Host>
因此,作为一种解决方法,每当客户动态注册a,b,c等时,我都必须手动添加它。每次都需要 Tomcat 重新启动。
<Host name="*.example.com" appBase="/home/example/public_html" ...>
<Alias>a.example.com</Alias>
<Alias>b.example.com</Alias>
<Alias>c.example.com</Alias>
...
</Host>
我的问题
由于通配符是在客户端注册时动态生成的,因此如何在服务器中动态设置.xml从而可以避免手动输入和Tomcat重新启动。
我现在知道的唯一方法是在服务器中指定默认主机.xml
<Engine name="Catalina" defaultHost="default-host">
然后稍后在文件中,您可以指定所有请求转到特定主机
<Host name="example-site">
<Context path="" docBase="/home/example/public_html/e" />
<Alias>example.com</Alias>
<Alias>www.example.com</Alias>
</Host>
<Host name="registered-customers">
<Context path="" docBase="/home/example/public_html" />
<Alias>default-host</Alias>
</Host>
祝你好运:)