【问题标题】:XAMPP access forbidden issuesXAMPP 访问禁止问题
【发布时间】:2015-11-11 19:25:34
【问题描述】:

遇到 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,仅供参考。

不太确定我在哪里出错了。我有什么遗漏吗?

【问题讨论】:

  • 尝试将文件夹放在D盘可能是访问C盘的权限问题
  • AllowOverride All 添加到 vhosts 条目并确保重新启动/重新加载 Apache 以获取新设置。
  • @volkinc 在 Windows 上几乎从来都不是权限问题。

标签: php apache xampp laravel-5 http-status-code-403


【解决方案1】:

本节

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

【讨论】:

  • 将我的 httpd.conf 和我的虚拟主机更改为您提供的工作,谢谢。从互联网上复制东西一定是配置错误。
  • 很想知道为什么这得到了勾选和反对?我想我惹恼了一个有报复心的人
【解决方案2】:

你需要

 AllowOverride All 

也在虚拟主机中

别忘了重启服务器

【讨论】: