根据您的服务器设置(操作系统、http服务器和控制面板-如果您有),主要的方法是为每个域设置单独的DNS区域(域名有A记录,然后是MX记录,如果您希望名称服务器链接到特定域,则为NS、反向查找和其他内容),然后为每个域设置一个虚拟主机,将DocumentRoot指向特定的安装文件夹。
对于经典的LAMP堆栈,虚拟主机很可能看起来像(非常基本的设置-完成此任务所需的最少指令数):
<VirtualHost *:80>
ServerName foo.com
DocumentRoot /public_html
<Directory /public_html>
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName bar.com
DocumentRoot /public_html/wp_subproject1
<Directory /public_html/wp_subproject1>
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName anything.com
DocumentRoot /public_html/wp_subproject2
<Directory /public_html/wp_subproject2>
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
至于让用户不知道您的域位于同一台服务器上,我相信您希望他们自己查看每个网站,这就是此设置所做的。就向高级用户实际隐藏这一事实而言,事情变得更加复杂,因为对每个域进行简单的ping就会发现它们位于同一IP上(因此您需要隐藏这一点-有3个独立的IP,并使用一些奇特的魔法通过其中一个IP将呼叫路由到每个域)。