需要xampp虚拟主机的帮助

时间:2011-09-01 13:10:39

标签: xampp virtualhost

我正在使用XAMPP,Apache 2.2.17。我添加了虚拟主机,但我的虚拟主机和localhost都指向同一位置。这是我在httpd-vhosts.conf中的代码

<VirtualHost www.domain.tld:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot "C:/xampp/htdocs/workspace/testsite"
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot "C:/xampp/htdocs/xampp"
   ServerAlias localhost
   ServerName localhost
</VirtualHost>

使用上面的代码,我可以使用www.domain.tld获得testsite,这样做很好。但是,如果我键入localhost,它也将转到testsite。如果我在测试站点之前移动,那么localhost会转到localhost,而www.domain.tld也会转到localhost。我为localhost尝试了不同的设置,如

<VirtualHost *>
<VirtualHost localhost:80>

并从domain.tld中删除* .domain.tld但没有任何效果。我错过了一些明显的东西吗?

3 个答案:

答案 0 :(得分:3)

我自己的答案:以下代码修复了问题

<VirtualHost *:80> <--- * fixed the problem, apache 2.2 doc does say it must match www.domain.tld, which caused problem for other Virtual hosts
ServerName www.domain.tld
ServerAlias domain.tld 
DocumentRoot "C:/xampp/htdocs/workspace/patriot2"
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot "C:/xampp/htdocs/xampp"
   ServerAlias localhost
   ServerName localhost
</VirtualHost>

答案 1 :(得分:3)

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot C:/xampp/htdocs
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    ServerName mydomain.local
    ServerAlias www.mydomain.local 
    DocumentRoot C:/mysite/htdocs
</VirtualHost>

答案 2 :(得分:-1)

请将您的ServerName从virtualhost更改为本地IP地址,例如127.0.0.2。

ServerName domain.tld是使用“domain.com”的示例,其中.tld由.com替换为您的域。