如何配置虚拟主机在 Xampp 的 htdocs 目录中工作?

Posted

技术标签:

【中文标题】如何配置虚拟主机在 Xampp 的 htdocs 目录中工作?【英文标题】:How to configure virtual hosts to work in htdocs directory of Xampp? 【发布时间】:2020-05-05 23:14:39 【问题描述】:

我正在关注一个 laravel 教程,其中导师设置了一个虚拟主机来运行他们的应用程序。该应用程序位于/opt/lampp/htdocs/first-app。我运行 apache 的端口是 8000。所以如果我访问localhost:8000/first-app/public,我可以查看我的 laravel 应用程序。

我的 httpd-vhosts.conf 文件如下所示:

<VirtualHost *:8000>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/opt/lampp/htdocs"
    ServerName localhost
    ServerAlias www.localhost
</VirtualHost>

<VirtualHost *:8000>
  DocumentRoot "/opt/lampp/htdocs/first-app/public"
  ServerName app.test
  ServerAlias www.app.test

  <Directory "/opt/lampp/htdocs/first-app">
    Options All
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

我的 /etc/hosts 文件如下所示:

127.0.0.1       localhost app.test
::1             localhost app.test
127.0.1.1       pop-os.localdomain      pop-os
127.0.0.1       app.test

我已经像这样取消了 httpd.conf 的注释

# Virtual hosts
Include etc/extra/httpd-vhosts.conf

但是当我访问 app.test 时我得到了这个

Browser output when app.test is visited

我做错了什么?

编辑:我发现,如果我访问 www.app.test:8000,它可以正常工作

【问题讨论】:

当您编辑 vhost.conf 时是否以管理员身份打开它 是的,我做到了。它正确保存。看看我对帖子的最新编辑。添加端口号似乎使其工作。但是是否可以在不指定端口号的情况下执行此操作?我还将 DocumentRoot 更改为“/opt/lampp/htdocs/first-app/public”以使其正常工作 【参考方案1】:

刚刚发现浏览器会自动添加80端口,所以我在8000端口上运行apache,所以需要指定。

因此,上面的设置确实有效。我所要做的就是去http://localhost:8000http://127.0.0.1:8000

【讨论】:

以上是关于如何配置虚拟主机在 Xampp 的 htdocs 目录中工作?的主要内容,如果未能解决你的问题,请参考以下文章

xampp 虚拟主机 - 始终加载 htdocs

xamp配置多域名站点

xampp 上 .htaccess 文件的奇怪行为

如何在 XAMPP 的 VirtualHost 中访问 DocumentRoot 之外的文件?

XAMPP - 无法访问 htdocs 中的项目

如何在xampp中设置虚拟主机?