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 并尝试。