localhost 显示我在 /usr/local/etc/httpd/extra/httpd-vhosts.conf 中添加虚拟主机时的索引

localhost is showing index of when I added a virtual host in /usr/local/etc/httpd/extra/httpd-vhosts.conf

我用 brew 安装了 apache,并将端口 8080 更改为 80。当我访问 localhost 这显示了一个页面 "it works!" 并且该页面位于 /usr/local/var/www 目录中,文件名为 index.html 但是当我在 [=17= 中添加一个虚拟主机时] 文件。

<VirtualHost *:80>
  DocumentRoot "/Users/ranaamir/projects/sample/yii2/backend/web"
  ServerName yii2.example.be
  ServerAlias yii2.example.be
  <directory "/Users/ranaamir/projects/sample/yii2/backend/web">
      Options Indexes FollowSymLinks
      AllowOverride all
      Order Deny,Allow
      Allow from all
      Require all granted
  </directory>
  ErrorLog "/usr/local/var/log/httpd/vjfBackenderror.log"
  CustomLog "/usr/local/var/log/httpd/vjfBackendaccess.log" common
</VirtualHost>

并使用 sudo apachectl -k restart 命令重新启动服务,此主机也已添加到 /etc/hosts

##

127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
127.0.0.1       yii2.example.be

然后我访问 localhostyii2.example.be 都显示一个页面,其中只提到了一行 Index of /

如果我从 httpd-vhosts.conf 中删除块 <VirtualHost *:80> 的代码,然后再次 localhost 主机显示正确 index.html.

为什么我的项目不是 运行 在虚拟主机 url 而不是 index of / 上?

任何帮助将不胜感激!!

我已经解决了这个问题,我在 httpd.conf 文件中做了一些改动,我们必须提到他们将首先处理哪种类型的文件,所以我只是在代码块中添加了 index.php dir_module.

<IfModule dir_module>
  DirectoryIndex index.php index.html
</IfModule>

我希望这会节省您的时间并减少您的压力。 :)