XAMPP 虚拟主机不工作

Posted

技术标签:

【中文标题】XAMPP 虚拟主机不工作【英文标题】:XAMPP Virtual Hosts not working 【发布时间】:2016-11-27 02:09:49 【问题描述】:

在将其标记为已回答之前,请阅读整篇文章,因为是的,这些问题有很多,但没有一个答案有效。

在过去的 6 个月里,我在这里和网络上查看了大约 50 个不同的表单帖子,试图让我的 XAMPP 虚拟主机正常工作。

主机文件

127.0.0.1       localhost
127.0.0.1       vws.localhost
127.0.0.1       instancegaming.net
127.0.0.1       vws.instancegaming.net

http-vhosts 文件(7/26 更新)

 # Virtual Hosts
 #
 # Required modules: mod_log_config

 # If you want to maintain multiple domains/hostnames on your
 # machine you can setup VirtualHost containers for them. Most      configurations
 # use only name-based virtual hosts so the server doesn't need to worry    about
 # IP addresses. This is indicated by the asterisks in the directives below.
 #
 # Please see the documentation at
 # <URL:http://httpd.apache.org/docs/2.4/vhosts/>
 # for further details before you try to setup virtual hosts.
 #
 # You may use the command line option '-S' to verify your virtual host
 # configuration.

 #
 # Use name-based virtual hosting.
 #
 # NameVirtualHost *:80
 #
 # VirtualHost example:
 # Almost any Apache directive may go into a VirtualHost container.
 # The first VirtualHost section is used for all requests that do not
 # match a ##ServerName or ##ServerAlias in any <VirtualHost> block.
 #
 <VirtualHost *:80>
    ServerName localhost
    DocumentRoot "C:\xampp\htdocs"
    <Directory "C:\xampp\htdocs">
      DirectoryIndex index.php
    </Directory>
 </VirtualHost>

我不知道该怎么做,我尝试将所有字段放到 localhost 然后放到 instancegaming.net,但似乎没有任何效果。我已经阅读了 Apache 日志,发现只有 SSL 错误。

当我尝试访问 [ http:// ] vws.localhost、vws.192.168.0.47、vws.instancegaming.net 时,所有这些在 chrome 中都会出现相同的错误:

ERR_NAME_NOT_RESOLVED

然后我尝试清空 chromes 主机缓存,但这也无济于事。 旁注:我重新安装了 XAMPP 4 次试图使这项工作。

【问题讨论】:

ERR_NAME_NOT_RESOLVED 与 apache 无关,名称解析有问题。如果您从命令行尝试 ping vws.instancegaming.net 会发生什么? 我得到以下信息:C:\Windows\System32>ping vws.instancegaming.net 用 32 字节数据 ping vws.instancegaming.net [127.0.0.1]:来自 127.0.0.1 的回复:字节=32 time 你能从命令行下载curl并尝试curl -v vws.instancegaming.net吗? Curl 的结果:C:\Users\JAcOb\Desktop\stuff\curl>curl.exe -v vws.instancegaming.net * 将 URL 重建为:vws.instancegaming.net/ * 正在尝试 127.0。 0.1... * 连接到 127.0.0.1 端口 80 失败:连接被拒绝 * 无法连接到 vws.instancegaming.net 端口 80:连接被拒绝 * 关闭连接 0 curl:(7)无法连接到 vws.instancegaming.net 端口80:连接被拒绝 ***.com/questions/27754367/… 【参考方案1】:

如果您在使用 XAMPP 的 Windows 环境(7 和 10 测试)中,请按照以下步骤操作:

    添加主机文件[C:\Windows\System32\drivers\etc]
127.0.0.1       vws.localhost
127.0.0.1       instancegaming.net
127.0.0.1       vws.instancegaming.net
    在 httpd.conf [C:\__Server\apache\conf] 中添加这个。 虽然有人说这样做有安全风险,但没有这个就找不到办法
<Directory />
    AllowOverride none
    Require all granted
</Directory>
    将这些添加到 httpd-vhosts.conf [C:\__Server\apache\conf\extra]
<VirtualHost *:80>
     ServerName localhost
     DocumentRoot "C:\__Server\htdocs"
     <Directory "C:\__Server\htdocs">
         DirectoryIndex index.php
     </Directory>
 </VirtualHost>

<VirtualHost *:80>
     ServerName tools.com.at
     DocumentRoot "E:\phpStorms\git\tools-class"
     SetEnv APPLICATION_ENV "development"
     <Directory "E:\phpStorms\git\tools-class">
         DirectoryIndex index.php
         AllowOverride All
         Order allow,deny
         Allow from all        
     </Directory>
 </VirtualHost>
 
 <VirtualHost *:80>
     ServerName laravel.test.com.at
     DocumentRoot "E:\laravel.test.com.at\public"
     SetEnv APPLICATION_ENV "development"
     <Directory "E:\laravel.test.com.at\public">
         DirectoryIndex index.php
         AllowOverride All
         Order allow,deny
         Allow from all
     </Directory>
 </VirtualHost>

这个模板

<VirtualHost *:80>
     ServerName nameInHostsFile
     DocumentRoot "pathOfTheWindowsFileLocationWhichWillBeDocumentRoot"
     SetEnv APPLICATION_ENV "development"
     <Directory "pathOfTheWindowsFileLocationWhichWillBeDocumentRoot">
         DirectoryIndex index.php
         AllowOverride All
         Order allow,deny
         Allow from all      
     </Directory>
 </VirtualHost>

注意 1:我的 xampp 安装在 C:\__Server 位置

注意 2:我的文件夹名称是 laravel.test.com.at,它在 E: 驱动器 E:\laravel.test.com.at

注意3:总是从Windows资源管理器的地址栏中复制文件夹位置,所以不会出错。

注意4每次编辑httpd-vhosts.conf后必须重启XAMPP

注意 5:在 url [即 .com.at] 中使用不常见的部分,以便它是唯一的并且解析 dns 没有问题。

更新:疑难解答@Jacob Jewett

在 C 盘重新安装 XAMPP 后 -

    只需在 httpd-vhosts.conf 文件中添加/追加这些行
<VirtualHost *:80>
     ServerName localhost
     DocumentRoot "C:\xampp\htdocs"
     <Directory "C:\xampp\htdocs">
         DirectoryIndex index.php
     </Directory>
 </VirtualHost>

<VirtualHost *:80>
     ServerName vws.localhost
     DocumentRoot "C:\xampp\vws"
     SetEnv APPLICATION_ENV "development"
     <Directory "C:\xampp\vws">
         DirectoryIndex index.php
         AllowOverride All
         Order allow,deny
         Allow from all        
     </Directory>
 </VirtualHost>
    在 httpd.conf 文件中添加追加
<Directory />
    AllowOverride none
    Require all granted
</Directory>

    为 php [C:\xampp\php] 添加 PATH 变量,并检查 PATH 变量中是否没有其他 php 路径。

    重启xampp并浏览本地主机

【讨论】:

好的,我更改了我的 vhosts 文件,多次重新启动 xampp,然后我又回到了原点。您能否解释一下 larvel.test.com.at 以及我将如何满足我的需求?我尝试了 ServerName vws.instancegaming 和 vws.localhost 但都没有工作 我还应该注意,我更改了路由器设置以解决 instancegaming.net 以满足我的本地需求,但这个问题在我这样做之前就一直存在。 Note-2 说它是我的文件夹名称。好的,首先从 httpd-vhosts.conf 中删除除 localhost 之外的所有条目。然后在浏览器中尝试http://localhost 并检查错误。 拒绝连接 从 xampp 控制器关闭除 apache 以外的所有服务,然后再次尝试访问 localhost。请使用 httpd-vhosts.conf 文件的内容更新问题。【参考方案2】:

另外确保该行

Include etc/extra/httpd-vhosts.conf

httpd.conf 中没有引用

【讨论】:

它为我评论...如果我取消评论 apache 不会启动【参考方案3】:

我想在这里补充一点:对于任何确定一切设置正确的人,请确保不要在主机文件中的别名字符串中使用任何下划线;由于某种原因,它不能接受下划线。

【讨论】:

【参考方案4】:

我发现有效的答案是在 hosts 文件中。

192.168.0.47        localhost somthing.instancegaming.net      

【讨论】:

【参考方案5】:

我有类似的问题,虚拟主机不工作。但就我而言,我发现主机文件存在权限问题。希望这对某人有所帮助。 hosts file ignored, how to troubleshoot?

【讨论】:

【参考方案6】:

如果 ping 成功,但虚拟主机无法与 XAMPP 7.3.1 和 Windows 10 Pro 一起使用,则问题可能是干扰了万维网发布服务。

在我的系统上,Apache 和 mysql 成功启动,但在我停止 WWWPS 服务(在 Windows 服务中)之前无法浏览虚拟主机。然后虚拟主机立即可用。当 WWWPS 再次启动时,它会立即停止工作。

【讨论】:

以上是关于XAMPP 虚拟主机不工作的主要内容,如果未能解决你的问题,请参考以下文章

Xampp for Laravel 上的虚拟主机不工作

XAMPP 的多个虚拟主机不工作

虚拟主机在 xampp 中不工作(对 localhost 使用不同的端口:7777)

Xampp 本地主机不工作

Xampp - 本地主机不工作

XAMPP v1.7.4 安装问题,本地主机不工作