我可以去Fog Creek的网站,build立一个新的帐户,他们会立即为我分配一个url,例如'mycompany.fogbugz.com'(其中'mycompany'是我组成的,而不是由雾分配的一些值溪)。 我可以用Beanstalk和许多其他供应商来做同样的事情。 我一直在努力弄清楚这是如何工作的谷歌search。
1:在上面的例子中,除了如何设置vanilla“www.foo.com”这个域名之外,还有一些特殊的方法是在DNS中设置“mycompany.fogbugz.com”?
2:假设Fog Creek使用Tomcat(我确信这不是真的,但是假装它是)他们可能会在他们的服务器上创build一个tomcat / webapps / mycompany子目录? 还是有一些简单的方法来处理这个?
我显然不是DNS或TC向导。 任何洞察赞赏。 新年快乐!
这就是所谓的通配符子域(在DNS中),然后使用url重写进行处理。
通配符子域如下所示:
*.domain.tld. IN A 1.2.3.4
然后你可以设置Apache接受任何子域的请求:
<VirtualHost 111.22.33.55> DocumentRoot /www/subdomain ServerName www.domain.tld ServerAlias *.domain.tld </VirtualHost>
然后,您可以使用mod_rewrite将这些子域之一的stream量redirect到子文件夹或查询string。 像这样的东西:
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC] RewriteRule (.*) %2/$1 [L]
我不知道tomcat,但在IIS中,如果网站设置为一个IP地址(即没有具体的主机头/子域),所有子域将指向同一网站(不确定这里的确切术语)
如果是这种情况,您可以编程方式检测子域并作出相应的反应。
一个示例性的方法是subdomain_fu ,它是一个rails的子域处理程序,在这个屏幕截图中解释: http : //media.railscasts.com/videos/123_subdomains.mov 。
从概念上说:你可以用一个子域全部服务器别名来设置apache,然后用你的web框架做子域处理。