我安装了带有brew的apache,并将端口8080
更改为80
。当我访问localhost
时,这会向我显示一个页面“有效!”并且该页面位于文件名称为index.html的/usr/local/var/www
目录中,但是当我在/usr/local/etc/httpd/extra/httpd-vhosts.conf
文件中添加虚拟主机时。
<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
然后我访问localhost
或yii2.example.be
都显示一个页面,其中只有一行提到Index of /
。
如果我从<VirtualHost *:80>
中删除块httpd-vhosts.conf
的代码,则localhost
主机再次显示正确的index.html
。
为什么我的项目不在虚拟主机URL而不是index of /
上运行?
任何帮助将不胜感激!
我已经解决了这个问题,在httpd.conf
文件中所做的更改很小,我们不得不提到它们将首先处理哪种类型的文件,因此我只在index.php
的代码块中添加了dir_module
。
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
我希望这可以节省您的时间并最大程度地减少压力。 :)