我是一名 Web 应用程序开发人员,只是一个初学者。 我正在设计一个小型 J2EE Web 应用程序(例如,服务名称类似于 http://www.example.com )。它使用 Apache Tomcat。 规范:当用户注册到 Web 应用程序时,他将获得一个自定义域,例如
如何在我的网络应用程序中完成此操作。我仍在开发该应用程序。我还没有托管它。
最佳答案
您需要为 Apache 配置中的每个子域创建一个虚拟主机,例如:
<VirtualHost *:80>
ServerAdmin webmaster@subdomain1.example.com
DocumentRoot /www/subdomain1.example.com
ServerName subdomain1.example.com
ErrorLog logs/subdomain1.example.com-host.example.com-error_log
CustomLog logs/subdomain1.example.com-access_log common
</VirtualHost>
不过有一个问题。如果您的解决方案需要创建文件夹、添加虚拟主机和重新启动 apache,这对我来说不太好。我将如何处理这个问题:
- 为“*.example.com”创建一个通配符虚拟主机,以便所有对子域的请求都转到该虚拟主机。
- 为其设置重写规则,将所有请求重定向到一个页面,比如 index.jsp
- 编写一个 JSP 页面,获取用户访问的主机名,通过它在存储中搜索重定向 URL,即 mysql 数据库,然后重定向到它。此脚本将是通配符主机上的 index.jsp 脚本。
如果您使用这种方式,您只需要设置一次上述内容,然后将子域添加到存储中,这似乎是比创建子文件夹和修改 Apache 配置更灵活的解决方案。
关于java - 如何在 J2EE Web 应用程序中创建类似 "http://username.example.com"的域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2212240/