XAMPP 访问禁止问题
XAMPP access forbidden issues
遇到 XAMPP 问题和禁止访问问题。
开始使用 laravel,完全不懂 MVC,但我想尝试一下。
页面路由开始出现问题,索引页面工作正常,但我的所有路由都不起作用,都出现 404 错误。
在网上搜索了一下,发现可能是我的 xampp/Apache 配置问题。
玩过
Allow from all
和
Require all granted
选项,但没有骰子。
这是我的虚拟主机条目:
<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,仅供参考。
不太确定我哪里出错了。有什么我想念的吗?
你需要
AllowOverride All
也在虚拟主机中
另外别忘了重启服务器
本节
<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>
如果您实际上不打算允许宇宙中的任何人访问此站点,那么您可以使用
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
重新启动 Apache 并尝试。
遇到 XAMPP 问题和禁止访问问题。
开始使用 laravel,完全不懂 MVC,但我想尝试一下。
页面路由开始出现问题,索引页面工作正常,但我的所有路由都不起作用,都出现 404 错误。
在网上搜索了一下,发现可能是我的 xampp/Apache 配置问题。
玩过
Allow from all
和
Require all granted
选项,但没有骰子。
这是我的虚拟主机条目:
<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,仅供参考。
不太确定我哪里出错了。有什么我想念的吗?
你需要
AllowOverride All
也在虚拟主机中
另外别忘了重启服务器
本节
<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>
如果您实际上不打算允许宇宙中的任何人访问此站点,那么您可以使用
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
重新启动 Apache 并尝试。