Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache VirtualHost:同一IP上的多个站点_Apache_Virtualhost - Fatal编程技术网

Apache VirtualHost:同一IP上的多个站点

Apache VirtualHost:同一IP上的多个站点,apache,virtualhost,Apache,Virtualhost,假设blah.com,blah2.com都指向具有IP=5.31.111.7的同一服务器 我希望: 访问blah.com服务/var/www/site1 访问blah2.com服务于/var/www/site1 访问5.31.111.7服务/var/www/site2 我试过了 <VirtualHost *:80> DocumentRoot /var/www/site1 </VirtualHost> <VirtualHost 5.31.111.7:80&

假设
blah.com
blah2.com
都指向具有IP=
5.31.111.7
的同一服务器

我希望:

  • 访问
    blah.com
    服务
    /var/www/site1

  • 访问blah2.com服务于
    /var/www/site1

  • 访问
    5.31.111.7
    服务
    /var/www/site2

我试过了

<VirtualHost *:80>
    DocumentRoot /var/www/site1
</VirtualHost>
<VirtualHost 5.31.111.7:80>
   DocumentRoot /var/www/site2
</VirtualHost>

DocumentRoot/var/www/site1
DocumentRoot/var/www/site2
但现在一切都转到
/var/www/site2
,这不是我想要的

如何配置
虚拟主机
,使所服务的网站取决于URL?


PS:为什么我要在
/etc/apache2/sites enabled/000 default
而不是
/etc/apache2/apache2.conf
中执行此操作?我不理解此
站点已启用
/
站点可用/默认
命名。。。为什么Debian上默认有这么多不同的配置文件,这么简单的事情?

你想做的就是调用,你需要

NameVirtualHost *:80
要在端口80和每个VirtualHost上启用它,您需要提供名称:


ServerName blah2.com
ServerAlias www.blah2.com
DocumentRoot/var/www/site1
请注意,在进行基于名称的虚拟主机托管时,也存在一些问题,但这有点毫无意义,因为post POODLE之后,人们开始要求TLS,所以古老的浏览器无论如何都不走运


至于配置文件,有两类配置文件非常有用:一类是默认的包更新将覆盖的配置文件,另一类是本地配置文件,它不会触及,甚至更好,一个目录中充满了前者,一个目录中充满了后者。(因为其他软件包可能需要进行配置设置,所以它们都将安装在前一个位置,您只需在第二个位置更改/覆盖配置。)

您要做的就是调用,您需要

NameVirtualHost *:80
要在端口80和每个VirtualHost上启用它,您需要提供名称:


ServerName blah2.com
ServerAlias www.blah2.com
DocumentRoot/var/www/site1
请注意,在进行基于名称的虚拟主机托管时,也存在一些问题,但这有点毫无意义,因为post POODLE之后,人们开始要求TLS,所以古老的浏览器无论如何都不走运


至于配置文件,有两类配置文件非常有用:一类是默认的包更新将覆盖的配置文件,另一类是本地配置文件,它不会触及,甚至更好,一个目录中充满了前者,一个目录中充满了后者。(因为其他软件包可能需要进行配置设置,它们都将安装在前一个位置,您只需在第二个位置更改/覆盖配置。)

可能重复的可能重复的感谢!它可以与您的代码一起工作,即使没有
NameVirtualHost*:80
。关于配置文件,哪些站点已启用/哪些站点可用?这不是很明确…@Basj:我假设你的意图是将
站点启用
中的符号链接放入
站点可用
中,供你使用。这样,您可以通过删除符号链接快速关闭某些内容,并且您可以在可用的
站点中准备内容,而不必立即担心拼写错误。(请记住,在您编辑配置文件时,您的同事可能正在重新启动服务器。)谢谢!它可以与您的代码一起工作,即使没有
NameVirtualHost*:80
。关于配置文件,哪些站点已启用/哪些站点可用?这不是很明确…@Basj:我假设你的意图是将
站点启用
中的符号链接放入
站点可用
中,供你使用。这样,您可以通过删除符号链接快速关闭某些内容,并且您可以在可用的
站点中准备内容,而不必立即担心拼写错误。(请记住,在您编辑配置文件时,您的同事可能正在重新启动服务器。)