两个虚拟主机都是默认的

时间:2013-04-02 19:54:24

标签: apache xampp virtualhost


我正在尝试将一个虚拟主机添加到xampp服务器,但似乎我遗漏了一些东西,因为第二个站点没有显示,而是显示了localhost。我不知道这些设置有什么问题:

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
  </VirtualHost>
  <VirtualHost *:80>
    DocumentRoot "c:/xampp/htdocs/site1/public"
    ServerName site1
     <Directory "C:/xampp/htdocs/site1/public">
         AllowOverride All
         Order allow,deny
         Allow from all
         Options all
    </Directory>
</VirtualHost>


我将虚拟主机添加到hosts文件中:

127.0.0.1       localhost   site1

3 个答案:

答案 0 :(得分:0)

也许只想添加

127.0.0.1 site1.local

到您的主机文件(在Windows C上:\ windows \ system32 \ drivers \ etc \ hosts)

保存文件并确保从控制面板重新启动xampp

答案 1 :(得分:0)

尝试一下:

httpd-vhosts.conf文件中:

<VirtualHost localhost>
    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost site1>
    DocumentRoot "c:\xampp\htdocs\site1\public"
    ServerName site1
    <Directory "C:\xampp\htdocs\site1\public">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order Allow,Deny
        Allow from all
    </Directory>
</VirtualHost>

hosts文件中:

127.0.0.1 localhost
127.0.0.1 site1

我在这里做了什么:

  • 我没有使用*:80,而是使用主机的名称。这使它具有更直接的匹配方法。
  • 我用斜线换了所有前锋。这并没有什么区别,但Windows使用反斜杠 - 这只是一个经验法则。
  • 我已删除NameVirtualHost,据我所知,它没有任何区别,因而折旧。未来版本可能会将其视为未知密钥。

答案 2 :(得分:0)

是的,只需使用Mike的解决方案,不要忘记取消注释行

#Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf

在httpd.conf文件中