我想创建一个网络平台,每个客户都有自己的网站,比如uservoice.com
例子:
- 主要网站:uservoice.com
- 客户 1:cust1-subdomain .uservoice.com
- 客户 2:cust2-subdomain .uservoice.com
目标是客户可以通过自己的网址和登录页面进入其网站。
有谁知道这是怎么做到的吗?如何避免子域的子目录并复制所有文件?我正在寻找一个干净且可扩展的解决方案。
我想创建一个网络平台,每个客户都有自己的网站,比如uservoice.com
例子:
目标是客户可以通过自己的网址和登录页面进入其网站。
有谁知道这是怎么做到的吗?如何避免子域的子目录并复制所有文件?我正在寻找一个干净且可扩展的解决方案。
我认为解决方案是基于名称的虚拟主机。
例如,域 cust2-subdomain.uservoice.com 将显示位于与 DocumentRoot 不同的文件夹中的内容,但地址将保持不变。服务器将识别域并发送适当的内容。
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)。