如何创建子域每
问题描述:
网站比如我想创建一个网络平台,让每个客户得到了自己的网站,如uservoice.com如何创建子域每
例子:
- 主要网站:uservoice.com
- 客户1:cust1-子域 .uservoice.com
- 客户2:cust2-子域 .uservoice.com
的目标是,客户可以通过其自己的URL &登录页面输入其网站。
有谁知道该怎么做?如何通过子域避免子目录并复制所有文件?我正在寻找一个干净和可扩展的解决方案。
答
如果您使用的是Apache:您需要去掉这一行的httpd.conf文件如果尚未取消注释:
我认为解决方案是一个基于名称的虚拟主机。
例如,域cust2-subdomain.uservoice.com将显示位于与DocumentRoot不同的文件夹中的内容,但地址将保持不变。服务器将识别域并发送适当的内容。
如果您使用的是Apache:您需要去掉这一行的httpd.conf文件如果尚未取消注释:
Include conf/extra/httpd-vhosts.conf
那么你应该修改在/ usr /本地/ apache2的/ conf目录/额外的/的httpd-vhosts.conf。
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache2/docs/uservoice.com"
ServerName uservoice.com
ServerAlias www.uservoice.com
ErrorLog "logs/uservoice.com/error_log"
CustomLog "logs/uservoice.com/access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "https://*.com/users/customers/cust2/WWW"
ServerName cust2-subdomain.uservoice.com
ServerAlias www.cust2-subdomain.uservoice.com
ErrorLog "logs/cust2/error_log"
CustomLog "logs/cust2/access_log" common
</VirtualHost>
第一部分是您的网站,第二部分是cust2的网站。所以cust2会把他的网站放到位于他的主目录中的WWW文件夹中。您将把您的内容放入旧的DocumentRoot中。 (您需要自定义/usr/local/apache2/conf/extra/httpd-vhosts.conf)。
为了访问cust2-subdomain.uservoice.com我还需要创建一个DNS子域,否则它将由Apache处理,我只需要在我的dns中注册uservoice.com? –
是的。 也可以使用通配符DNS记录。 http://*.com/questions/13441418/automatic-sub-domain-registration – les
你可以用这个注册所有子域名: * .uservoice.com – les