Apache 虚拟主机问题

Apache VirtualHost Issues

我安装了两个 laravel。一个在名为 "laravel" 的文件夹中,第二个在名为“learningLaravel” 的文件夹中。他们都是同一个父文件夹中的兄弟姐妹。在我安装 "learningLaravel" 之前,我曾经通过 [=62= 访问 "laravel" 中的站点],一切正常。

安装 "learningLaravel" 后,我决定在我的 WAMP 服务器上为它创建一个名为 "learningLaravel.dev" 的虚拟主机。我的 [windows/system32/drivers/etc/hosts] 文件如下所示:

127.0.0.1       localhost
127.0.0.1       localhost
// I added this entry. The first two entries above was already there
127.0.0.1       learninglaravel.dev

我将以下内容添加到我的 Apache "httpd-vhosts.conf"::

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/learningLaravel/public"
    ServerName learningLaravel.dev
</VirtualHost>

现在我可以通过learningLaravel.dev访问"learningLaravel"。但是当我想通过 localhost/laravel/public 访问 "laravel" 文件夹中的站点时,我收到一条消息 ::

Not Found
The requested URL /laravel/public was not found on this server.

我也尝试 localhost,我得到了 ::

Not Found
The requested URL / was not found on this server.

我现在遇到的问题是以 localhost 开头的任何内容都不起作用,但是 learningLaravel.dev 有效。

我需要做哪些改变?谢谢。

只需定义 2 个虚拟主机:

  • 第一个捕获所有没有自己的虚拟主机的域。在此示例中,它们是 domain1.devdomain2.devdomain3.devlocalhost
  • 第二台主机抓取域learninglaravel.dev

httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/"
    ServerName localhost
    ServerAlias *.localhost
</VirtualHost>

<VirtualHost learninglaravel.dev:80>
    DocumentRoot "c:/wamp/www/learningLaravel/public"
    ServerName learninglaravel.dev
    ServerAlias *.learninglaravel.dev
</VirtualHost>

windows/system32/drivers/etc/hosts

127.0.0.1       learninglaravel.dev
# you don't need the following this is just for explanation:
127.0.0.1       domain1.dev
127.0.0.1       domain2.dev
127.0.0.1       domain3.dev