遇到XAMPP问题并访问禁止的问题。
开始使用laravel,完成noob任何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,fyi。
不确定我在哪里出错了。有什么我想念的吗?
答案 0 :(得分:3)
本节
<Directory />
Require all granted
Options FollowSymLinks
AllowOverride All
Allow from all
</Directory>
为安装Apache的磁盘提供基本安全性。基本做法是拒绝访问所有内容,然后只允许访问Apache应该访问的那些目录。你也在使用Pache 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>
如果您实际上并不打算允许Universe中的任何人访问此站点,那么您可以使用
Require local
或者,如果您想从本地网络中的其他设备访问该网站,可以尝试
Require ip 192.168.1
注意使用IPV4 IP地址的4个四分位中的3个。这允许从该子网中的任何IP进行访问。
还要确保已将gw3.dev
添加到您的HOSTS文件中以获取IPV4和IPV6地址
127.0.0.1 gw3.dev
::1 gw3.dev
重新启动Apache并试试。
答案 1 :(得分:0)
你需要
AllowOverride All
也是vhost
也不要忘记重启服务器