Apache httpd.conf处理多个域以运行相同的应用程序

所以我们正在寻找的是能够做到以下几点:

  • 我们有一个应用程序,可以加载基于它被访问的的某些设置。 因此,如果您来自xyz.com,我们会展示不同的徽标,如果您来自abc.com,我们会展示不同的徽标。 代码是相同的,从同一台服务器运行只是检测运行中的域

  • 现在我们想获得一个专门的服务器(任何build议?),这将使我们能够指向我们想要的服务器的所有的维生素(我们改变域的DNS到我们的服务器),然后当用户去一个某些域他们运行相同的应用程序。

现在据我所知,我们需要在apache中创build一个“VirtualHost”来处理这个问题。 我们可以创build一个捕获所有域的通配符虚拟主机吗?

我根本不是Apache的专家。 所以请原谅,如果这是一个愚蠢的问题。 任何详细的帮助将是伟大的。

谢谢

如果您将Apacheconfiguration为提供IP请求,则对该IP的所有请求将提供相同的内容。 这些域名将与Apache无关。

如果您想要将不同的域指向同一个IP上的不同内容,您将使用VirtualHost

是的,您需要基于Apache名称的虚拟主机,并且有许多参考可以帮助您完成设置。 您可以为每个要托pipe的域名在相同的IP地址上设置虚拟主机,并为每个域configuration不同的configuration。 您还可以设置一个默认值,用于没有定义特定虚拟主机的域名。

一个警告的话,但。 如果您使用的是SSL,则基于名称的虚拟主机将无法工作,并且您需要为每个SSL站点使用不同的IP地址。

在您的VirtualHosts文件中,您将指定DocumentRoot到共享目录

 DocumentRoot "/home/somesharedfiles/public_html" 

我会build议反对通配符/捕获所有。 这将允许任何人把他们的域名指向你的服务器并加载你的应用程序。

另外,你可以使用符号链接

 ln -s somesharedfiles/public_html site1/public_html ln -s somesharedfiles/public_html site2/public_html