You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

首次在本地XAMPP服务器运行Laravel项目时遭遇403访问禁止错误

解决XAMPP本地运行Laravel的403访问禁止问题

嘿,这个403问题我在Stack Overflow上帮不少开发者解决过,刚好是XAMPP跑Laravel最常见的坑之一,给你列几个一步步排查的方法:

  • 确认访问路径正确:Laravel的入口文件在public目录下,如果你直接访问localhost/你的项目名会因为没有索引文件触发403。正确的访问路径应该是localhost/你的项目名/public。如果嫌每次加public麻烦,后面可以看虚拟主机的配置方法。

  • 检查目录权限:

    • Windows系统:右键你的Laravel项目文件夹 → 属性 → 安全,确保当前登录用户拥有读取、写入的权限,必要时点击“高级”按钮继承权限到子文件夹。
    • 如果你用WSL或Linux环境,执行以下命令给目录赋权:
      chmod -R 755 /path/to/your/laravel/project
      chmod -R 775 storage bootstrap/cache
      

    Laravel需要storage和bootstrap/cache目录的写入权限来生成日志和缓存,这两个目录权限不对也可能导致403或其他错误。

  • 开启Apache的mod_rewrite模块:
    打开XAMPP控制面板里的Apache配置文件(httpd.conf),找到下面这一行,把前面的#删掉:

    #LoadModule rewrite_module modules/mod_rewrite.so
    

    然后找到DirectoryIndex配置,确保包含index.php:

    DirectoryIndex index.php index.html index.htm
    

    修改后重启Apache服务。

  • 验证public目录下的.htaccess文件:
    Laravel的public目录里必须有正确的.htaccess文件,用来处理URL重写。如果文件丢失或内容错误,也会导致403。正常的内容应该是:

    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews -Indexes
        </IfModule>
    
        RewriteEngine On
    
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} (.+)/$
        RewriteRule ^ %1 [L,R=301]
    
        # Send Requests To Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </IfModule>
    

    如果文件不存在,直接复制上面的内容新建一个即可。

  • 设置虚拟主机(推荐):
    想直接用自定义域名访问项目(比如yourproject.test),可以配置虚拟主机:

    1. 打开XAMPP的apache/conf/extra/httpd-vhosts.conf文件,添加以下配置:
      <VirtualHost *:80>
          DocumentRoot "C:/xampp/htdocs/你的项目名/public"
          ServerName yourproject.test
      </VirtualHost>
      
    2. 修改Windows的hosts文件(路径:C:\Windows\System32\drivers\etc\hosts),添加一行:
      127.0.0.1 yourproject.test
      
    3. 重启Apache,之后直接在浏览器输入yourproject.test就能访问项目,不会再出现403问题。

内容的提问来源于stack exchange,提问作者Naveed Ul Islam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:00:05