假设我在 example.com 上托管了一个网站,现在我希望我的每个注册用户都能获得一个个性化的子域名,例如Alice通常应该 alice.example.com 作为她的子域名。实际上 alice.example.com 从 example.com/user/alice 获取数据。如何实现这种机制?我看到很多网站正在以这种方式运作。我不知道他们是怎么做到的。它是某种域服务器配置,Web服务器配置,.htaccess重写还是代码中的一些技巧?
如果它重定向,正如我的实验那样, example.com 和 alice.example.com 将获得不同的IP地址,如果是这样,重写如何工作,因为我请求 alice.example.com ,网络浏览器将我带到一个完全不同的网站(IP地址)。
这让我困惑了一段时间,我只是无法弄清楚自己,任何帮助都会非常感激。
[编辑]:好的等待!我怕我复制了。检查此主题:Create subdomains on the fly with .htaccess (PHP)
答案 0 :(得分:1)
基本上你需要两个部分:
1)您的Nameserver需要支持通配符。因此,您可以将* .mydomain.com映射到单个服务器。这将导致alice.mydomain.com和bob.mydomain.com全部转到同一台服务器。
2)然后,您的服务器软件应该能够将主机名(= alice.mydomain.com)映射到您的应用程序,并将“alice”部分作为参数传递。
根据您使用的框架/服务器软件,这应该非常简单。
HTH 亚历
答案 1 :(得分:1)
它是某种域服务器配置,Web服务器配置,.htaccess重写还是代码中的一些技巧?
这可能是几种技术的结合。
第一层可能是DNS级别的Wildcard DNS record,因此可以使用任何子域。
接下来,服务器配置或应用程序逻辑用于基于所访问的子域来分离内容。这可以是Apache Alias指令或应用程序代码中的重写规则或逻辑。
答案 2 :(得分:1)
我可以告诉我如何在pastebin.com上做到这一点