如何将规则写入Apache的随机子域?

其实我们的网站通过使用Java技术创build,所以安装了Tomcat,apache的VPS和部署。 我们正在为注册客户创build子域,我们已经通过创build具有* .mydomain名称的Alogging来启用通配符。

之后,我们必须在Apache中处理子域…一旦Apache设置,我们必须validation它适用于随机子域,必须编写重写规则,将子域映射到另一个URL(不要紧,我们是什么郎使用)。

因此,UserName8328.domain.com实际上会从您的服务器请求类似于domain.com/users/UserName8328的内容。

所以你可以请build议我如何做到这一点? 对于这个问题还有另外一个环节

这个问题不要把这个连接到JAVA。 同时,我们遇到了与Apache相关的问题。 你能帮忙吗? https://stackoverflow.com/questions/19188877/what-is-best-way-to-create-sub-domains-dynamically-by-using-java-whenever-user-r

对于Apache方面,我的网站使用:

httpd.conf文件

<VirtualHost 8.8.8.8:80> ServerName domain.com DocumentRoot /var/www/siteroot/ ServerAlias *.domain.com www.domain.com VirtualDocumentRoot /var/www/siteroot/users/%1 </VirtualHost> 

这将做的是有任何子域加载相同的页面htttp://domain.com/users/subdomain。 如果您使用的是www.subdomain.com,则可能必须使用%2而不是上面的%1

对于.htaccess方面,我会看看(这个ServerFault的问题。)[ 疑难解答.htaccess通配符子域重写 。

我不是一个Java的人,但这个想法是相似的。 在PHP中,我想知道他们实际上到了什么地址(如最初的StackExchange问​​题),然后使用它来加载用户的信息,从而页面。 所以我创build的网站的所有子域名将如下所示:

  1. 用户请求htttp://userid.domain.com。
  2. 服务器将* .domain.com转到domain.com/users/?q=subdomain。 用户没有看到这个 – 他们仍然认为他们在userid.domain.com。
  3. htttp://domain.com/users/index.php检查“q”查询字段 – 如果find,它将加载该用户的内容。

即使脚本以htttp://domain.com/users/index.php执行,用户将看到htttp:// userid.domain.com。 本质上,脚本将子域视为查询stringvariables。 或者,您可以将所有用户推送到htttp://domain.com/users/index.php并使用环境variables来查找子域。

一旦您确认您可以查看htttp://domain.com/users/index.html(对于htttp://kdfsdkfsdklfsd.domain.com),我会发布一个新的StackExchange问​​题,或者重写当前的问题。