【问题标题】:Xampp Apache 2.4 VirtualHost not workingXampp Apache 2.4 虚拟主机不工作
【发布时间】:2017-04-16 17:39:24
【问题描述】:

我在 Windows 10 上有带有 apache 2.4 的 xampp。 我的 C:\xampp\apache\conf\extra\httpd-vhosts.conf 中有这个配置

<VirtualHost *:80>
   DocumentRoot "C:/xampp/htdocs"
   ServerName localhost
   ServerAlias www.localhost
</VirtualHost>
<VirtualHost *:80>
   DocumentRoot "C:/xampp/htdocs/site3/web"
   ServerName site3.localhost
   ServerAlias www.site3.localhost
</VirtualHost>
<VirtualHost *:80>
   DocumentRoot "C:/xampp/htdocs/site2/web"
   ServerName site2.localhost
   ServerAlias www.site2.localhost  
</VirtualHost>

我在我的主机文件中添加了:

127.0.0.1       site2.localhost 
127.0.0.1       site3.localhost
127.0.0.1       www.site2.localhost 
127.0.0.1       www.site3.localhost

当我浏览 http://site2.localhost 时,我看到了 xampp 根索引。 当我浏览 http://site3.localhost 时,我再次看到 xampp 根索引。与 www.site2.localhost 相同...

我做错了什么?

【问题讨论】:

    标签: virtualhost apache2.4


    【解决方案1】:

    关于虚拟主机的简要信息。如果您设置了一个,当您尝试使用它时,它会将您发送到第一个虚拟主机,通常是localhost,这意味着虚拟主机定义或 HOSTS 文件有问题,或者您输入的 url 不正确。

    Apache 将使用文件中定义的第一个 VH 作为默认站点。

    首先从 HOSTS 文件中删除这两行

    127.0.0.1       www.site2.localhost 
    127.0.0.1       www.site3.localhost
    

    HOSTS 文件应如下所示

    127.0.0.1 localhost
    127.0.0.1 site2.localhost 
    127.0.0.1 site3.localhost
    
    ::1 localhost
    ::1 site2.localhost 
    ::1 site3.localhost
    

    现在每个虚拟主机定义也应该包括一些这样的访问权限

    <VirtualHost *:80>
       DocumentRoot "C:/xampp/htdocs/site3/web"
       ServerName site3.localhost
       ServerAlias www.site3.localhost
        <Directory  "C:/xampp/htdocs/site3/web/">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require local
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>
       DocumentRoot "C:/xampp/htdocs/site2/web"
       ServerName site2.localhost
       ServerAlias www.site2.localhost  
        <Directory  "C:/xampp/htdocs/site2/web/">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require local
        </Directory>
    </VirtualHost>
    

    【讨论】:

    • 我只保留对 site3 的访问权限。第一个 vh。
    • 您不应该删除本地主机定义。那应该保留
    • 我评论了它:# # DocumentRoot "C:/xampp/htdocs" # ServerName localhost # ServerAlias www.localhost #
    猜你喜欢
    • 2015-04-10
    • 2016-11-27
    • 2013-09-11
    • 2016-04-24
    • 2016-07-19
    • 2014-07-14
    • 2013-08-29
    • 2012-06-08
    相关资源
    最近更新 更多