如何为每个子域创建一个站点实例

时间:2015-07-10 19:04:41

标签: web subdomain url-routing uservoice

我想创建一个网络平台,每个客户都可以获得自己的网站uservoice.com

示例:

  • 主要网站:uservoice.com
  • 客户1: cust1-subdomain .uservoice.com
  • 客户2: cust2-subdomain .uservoice.com

目标是客户可以通过自己的网址和网站进入其网站。登录页面。

有谁知道怎么做?如何通过子域避免子目录并复制所有文件?我正在寻找一个干净,可扩展的解决方案。

1 个答案:

答案 0 :(得分:1)

我认为该解决方案是基于名称的虚拟主机。

例如,域cust2-subdomain.uservoice.com将显示位于与DocumentRoot不同的文件夹中的内容,但地址将保持不变。服务器将识别域并发送适当的内容。

<小时/> 如果您使用的是apache:如果尚未取消注释,则需要在httpd.conf文件中取消注释该行:

Include conf/extra/httpd-vhosts.conf

然后你应该编辑/usr/local/apache2/conf/extra/httpd-vhosts.conf。

<VirtualHost *:80>
    ServerAdmin you@uservoice.com
    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 cust2@uservoice.com
    DocumentRoot "/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)。