我想创建一个网络平台,每个客户都可以获得自己的网站uservoice.com
示例:
目标是客户可以通过自己的网址和网站进入其网站。登录页面。
有谁知道怎么做?如何通过子域避免子目录并复制所有文件?我正在寻找一个干净,可扩展的解决方案。
答案 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)。