我刚刚在新的 CentOS 服务器上设置了 LAMP。以前,当我在 Ubuntu 上安装 LAMP 时,我总是需要为我在/var/www
目录中创建的每个网站创建一个虚拟主机定义。
但在 CentOS 上,我意识到一旦我将网站放入/var/www
目录中,它就会立即在浏览器上可见。
Include conf/vhosts/*.conf
我在我的文件中包含了这个指令:httpd.conf
以便为特定站点定义虚拟主机。在我的虚拟主机目录中,我定义了我的*.conf
文件。
谁能告诉我需要编辑什么(可能是在 )httpd.conf
,以阻止没有单个/vhosts/*.conf
文件的网站在访问时显示?
以下是我为每个新站点修改的默认虚拟主机定义信息:
<VirtualHost var/www/aSite:80>
ServerAdmin [email protected]
DocumentRoot var/www/aSite
ServerName myServer
ErrorLog var/www/aSite/logs/error_log
CustomLog var/www/aSite/logs/access_log common
</VirtualHost>
答案1
我会根据我的想法和记忆(无法在 CentOS 上验证)告诉你,你在 httpd.conf 中的某个地方
- 已加载
mod_vhost_alias
Apache 模块 mod_vhost_alias
该模块通过允许将 HTTP 请求的 IP 地址和/或 Host: 标头用作路径名的一部分来确定要提供服务的文件,从而创建动态配置的虚拟主机。这样可以轻松使用具有相似配置的大量虚拟主机。
VirtualDocumentRoot
定义为 /var/www/(something) + 可能VirtualScriptAlias
PS:你能告诉我,为什么你想阻止这种(很好,从我的角度来看)行为吗?
答案2
我最近设置了一个带有虚拟主机的 centos 7 Web 服务器,并添加了<VirtualHost>
一个空白网页或即将推出的页面的指令。该<VirtualHost>
指令需要位于Include conf/vhosts/*.conf
httpd.conf 文件的上方。