如何在我的域下为我的用户提供自定义域名

时间:2016-05-19 21:15:38

标签: dns

我正在构建一个不同用户可以注册的Web应用程序。现在,我的应用程序的用户拥有类似www.example.com/username的主页网址。但我想为用户提供类似网址的www.username.example.com。有没有简单的方法来做到这一点?或者我必须向客户提供带有新域名的新机器?

1 个答案:

答案 0 :(得分:2)

首先,您需要为www.username.example.com配置指向www.example.com的DNS CNAME记录。这样,www.username.example.com的所有请求都将转到您的Web服务器。您可以为每个用户名执行此操作,也可以使用通配符* .example.com

执行此操作

接下来,您需要配置您的网络服务器以响应具有Host:www.username.example.com标头的请求(或再次使用通配符)。

如果完成上述两个步骤,由于DNS只处理域名,您需要重写规则,这取决于您的网络服务器,但对于像这样的apache应该这样做:

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
RewriteCond %{HTTP_HOST} ^www\.([a-zA-Z0-9]+)\.example.com$ [NC]
RewriteRule ^ /%1%{REQUEST_URI} [L]