XAMPP出现问题,访问被禁止。
开始使用laravel,完全是MVC的新手,但我想试试。
开始出现页面路由问题,索引页工作正常,但我的路由不工作,都出现404错误。
在互联网上搜索一下,发现它可能是由于我的xampp/Apache配置。
和
玩了一个游戏Allow from all
和
Require all granted
选项,但没有骰子。
这是我的vhosts条目:
<VirtualHost *:80>
DocumentRoot "C:'Users'xxx'Desktop'Projects'xxx'Website-3.0'Website'public"
ServerName gw3.dev
<Directory "C:'Users'xxx'Desktop'Projects'xxx'Website-3.0'Website'public">
Allow from all
Require all granted
Options Indexes
</Directory>
</VirtualHost>
这是我在httpd.conf文件中编辑的内容。
<Directory />
Require all granted
Options FollowSymLinks
AllowOverride All
Allow from all
</Directory>
确保根目录不是只读的。然而我得到的都是403禁止访问错误。
运行Windows 10,供参考。
我不太确定我哪里错了。我是不是漏掉了什么?
本节
<Directory />
Require all granted
Options FollowSymLinks
AllowOverride All
Allow from all
</Directory>
为安装Apache的磁盘提供基本的安全性。基本做法是拒绝访问所有内容,然后只允许访问Apache应该访问的那些目录。此外,您正在使用apache 2.2。和2.4语法在一起,不好。
所以把它改回:-
<Directory />
AllowOverride none
Require all denied
</Directory>
在虚拟主机的定义中,您同时使用Apache 2.2和2.4语法。这不是一个好主意,它会导致Apache感到困惑。而且你正在使用DOS的反斜杠,那应该是unix的正斜杠。
所以试试这个
<VirtualHost *:80>
DocumentRoot "C:/Users/xxx/Desktop/Projects/xxx/Website-3.0/Website/public"
ServerName gw3.dev
<Directory "C:/Users/xxx/Desktop/Projects/xxx/Website-3.0/Website/public">
AllowOverride All
Options Indexes FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
如果你不打算允许任何人访问这个网站,那么你可以使用
Require local
或者如果您想从本地网络中的其他设备访问该站点,您可以尝试
Require ip 192.168.1
注意IPV4 ip地址的4个四分位数中只使用了3个。这允许从该子网中的任何ip访问。
还要确保您已将gw3.dev
添加到IPV4和IPV6地址的HOSTS文件
127.0.0.1 gw3.dev
::1 gw3.dev
你需要
AllowOverride All
too in vhost
也不要忘记重新启动服务器