同一服务器上多个域的良好实践

时间:2014-10-15 22:29:23

标签: apache .htaccess

我有多个域转到同一个IP /服务器(我在自己的服务器上共享多个域的托管)。我想:

http://domain1.com/ * => /var/www/domain1/*

http://domain2.com/ * => /var/www/domain2/*

到目前为止,我使用PHP执行此操作:所有请求都发送到执行重新分发的单个PHP文件:

if (strpos($_SERVER['HTTP_HOST'], 'domain1') !== false)
      // call the file in /var/www/domain1/*
if (strpos($_SERVER['HTTP_HOST'], 'domain2') !== false)
      // call the file in /var/www/domain2/*

我可以想象存在一个没有PHP的“更清洁”的解决方案,只是.htaccess

让多个域进入同一台服务器的最佳实践是什么?我应该如何将来自多个域的请求路由到服务器的正确目录?


注意:我找到this,但由于只有1个upvote,我不确定这是否真的相关。

1 个答案:

答案 0 :(得分:2)

您可以使用VirtualHosts将某些网站路由到目录。

以下是我使用的常规配置(在httpd.conf中 - 有大量其他信息here):

<VirtualHost *:80>
    ServerName mydomain.example.com
    DocumentRoot /var/www/mydomain.example.com
</VirtualHost>

您也可以将这些指令放在/etc/apache2/sites-available/<name>.conf中的不同文件中,然后执行a2ensite <name>,如果您使用的是支持该指令的系统(Debian / Ubuntu IIRC)。