Apache 仅当服务器名称用作主机时应用虚拟主机

Apache 仅当服务器名称用作主机时应用虚拟主机,apache,virtualhost,Apache,Virtualhost,因此,我在文件夹htdocs/project中有一个项目。我需要通过域project.xx访问此项目,以测试子域mod_rewrite。为此,我修改了我的hosts文件,将project.xx映射到127.0.0.1 然后,我使用以下代码在apache中创建了一个虚拟主机: <VirtualHost *:80> ServerName project.xx ServerAlias www.project.xx DocumentRoot C:/xampp/htdo

因此,我在文件夹
htdocs/project
中有一个项目。我需要通过域
project.xx访问此项目,以测试子域
mod_rewrite
。为此,我修改了我的
hosts
文件,将
project.xx
映射到
127.0.0.1

然后,我使用以下代码在apache中创建了一个虚拟主机:

<VirtualHost *:80>
    ServerName project.xx
    ServerAlias www.project.xx
    DocumentRoot C:/xampp/htdocs/project/
</VirtualHost>

ServerName项目.xx
ServerAlias www.project.xx
DocumentRoot C:/xampp/htdocs/project/
当导航到
http://project.xx
我最终在
C:/xampp/htdocs/project/
中运行

我刚刚编辑了一些其他内容,我发现有些地方出了问题-导航到
127.0.0.1
will也会带我去我的
项目
网站

如何防止虚拟主机设置影响整个本地主机?当浏览器将
project.xx
作为
Host
头发送时,我只想转到我的
project

正如我在#httpd IRC chanell上了解到的,一旦开始使用localhost,还需要为localhost本身设置虚拟主机

这意味着在匹配域
project.xx
之前,存在
127.0.0.1
localhost
muse的规则-因此,如果未指定域,将使用默认行为:

#Rule for localhost as it normaly behaves
<VirtualHost *:80>
    #IP and `localhost` domain name
    ServerName 127.0.0.1
    ServerAlias localhost
    #The normal document root
    DocumentRoot C:/xampp/htdocs/
</VirtualHost>
#Rule for your project
<VirtualHost *:80>
    ServerName project.xx
    ServerAlias www.project.xx
    DocumentRoot C:/xampp/htdocs/project/
</VirtualHost>
#本地主机正常运行时的规则
#IP和'localhost'域名
服务器名127.0.0.1
服务器别名本地主机
#普通文档根目录
DocumentRoot C:/xampp/htdocs/
#项目的规则
ServerName项目.xx
ServerAlias www.project.xx
DocumentRoot C:/xampp/htdocs/project/