[英]Apache VirtualHost : multiple sites on same IP
假设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>
但是现在所有内容都转到/var/www/site2
,这不是我想要的。
如何配置VirtualHost
,以使所服务的网站取决于URL?
PS:为什么我应该在/etc/apache2/sites-enabled/000-default
而不是/etc/apache2/apache2.conf
? 我不明白这个sites-enabled
sites-available/default
/ sites-available/default
名称...为什么这么简单,在Debian上默认有这么多不同的配置文件?
您想要做的就是基于名称的虚拟主机 ,您将需要
NameVirtualHost *:80
要在端口80上启用它,对于每个VirtualHost,您需要指定名称:
<VirtualHost *:80>
ServerName blah2.com
ServerAlias www.blah2.com
DocumentRoot /var/www/site1
</VirtualHost>
请注意,在进行基于名称的虚拟主机时,SSL / TLS受到限制 ,但是自POODLE之后以来,这还是有一点争议的,人们还是开始要求使用TLS,因此无论如何,古老的浏览器都不是很幸运。
至于配置文件,拥有两类配置文件非常有用:一类是默认值,程序包更新将覆盖它们;另一类是本地文件,它不会涉及甚至最好是一个充满前者和前者的目录。充满后者的目录。 (由于其他软件包可能要进行配置设置,因此它们都将安装在前面的位置,并且您应该只在第二个位置更改/覆盖配置。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.