例如Centos 6.8,服务器ip 1.2.3.4,里面添加了一些域名vhost.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin email@example_2.com
ServerName example_2.com
ServerAlias www.example_2.com
DocumentRoot /srv/www/example_2.com/public_html/
ErrorLog /srv/www/example_2.com/logs/error.log
CustomLog /srv/www/example_2.com/logs/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerAdmin email@example_1.com
ServerName example_1.com
ServerAlias www.example_1.com
DocumentRoot /srv/www/example_1.com/public_html/
ErrorLog /srv/www/example_1.com/logs/error.log
CustomLog /srv/www/example_1.com/logs/access.log combined
</VirtualHost>
并etc/hosts
归档
127.0.0.1 localhost.localdomain localhost
1.2.3.4 example_1.example_1.com example_1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
1.2.3.4 现在将指向vhost.conf
(www.example_2.com)中的第一个 VirtualHost
我的问题是我不想让人们通过 IP 1.2.3.4 访问我的其他网站,我怎样才能将 1.2.3.4 指向空白页或其他 DocumentRoot?
答案1
如果没有其他更匹配的虚拟主机,Apache HTTPD 将为请求的虚拟主机或第一个定义的虚拟主机提供服务。在您的示例中,这就像在配置中比 example_2.com 更早地定义另一个虚拟主机一样简单。