【问题标题】:Both virtual hosts go to default两个虚拟主机都默认
【发布时间】:2013-03-24 06:46:10
【问题描述】:


我正在尝试将虚拟主机添加到 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

【问题讨论】:

    标签: apache xampp virtualhost


    【解决方案1】:

    也许尝试添加

    127.0.0.1 site1.local
    

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

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

    【讨论】:

    • 谢谢。我已经尝试过了,从我从网上收集的信息来看,它没有任何区别。
    【解决方案2】:

    试试这个:

    在您的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,因为据我目前所知,它没有任何区别,因此已贬值。未来的版本可能会将其识别为未知密钥。

    【讨论】:

      【解决方案3】:

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

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

      在您的 httpd.conf 文件中

      【讨论】:

        猜你喜欢
        • 2011-07-22
        • 2017-01-26
        • 2023-04-10
        • 2016-04-29
        • 2019-09-12
        • 2016-07-18
        • 1970-01-01
        • 2013-10-15
        • 2018-03-23
        相关资源
        最近更新 更多