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

使用Laravel加载Bootstrap CSS出现403 Forbidden权限错误如何解决

Laravel引入Bootstrap CSS出现403禁止访问错误解决方案

报错信息

Forbidden You don't have permission to access this resource.Server unable to read htaccess file, denying access to be safe

错误截图

原资源引入代码:

<link rel="stylesheet" id="bootstrap-css" href="{{ url('') }}/assets/css/bootstrap.css" type="text/css" media="all">

错误产生原因

  • 站点目录或文件权限配置错误:服务器运行用户无权限读取根目录下的.htaccess文件,或者assets/css/bootstrap.css文件、上级目录的权限设置过高,导致服务进程无法读取资源
  • 文件所有者不匹配:站点文件的所有者和服务器运行用户(常见为www-data、apache、nginx)不一致,即使权限数值正确也会触发读取限制
  • .htaccess规则异常:Laravel public目录下的.htaccess配置错误,误拦截了静态资源的访问请求
  • 资源路径写法不规范:手动拼接根路径可能因为站点配置的根目录不一致,导致请求路径错误触发权限拦截

解决方案

  1. 修正目录与文件权限
    进入Laravel项目根目录,执行以下命令(如果你的服务器运行用户不是www-data,对应替换即可):
# 所有目录设置为755权限
find . -type d -exec chmod 755 {} \;
# 所有文件设置为644权限
find . -type f -exec chmod 644 {} \;
# 修正文件所有者为服务器运行用户
chown -R www-data:www-data .
  1. 修正静态资源引入写法
    使用Laravel官方提供的asset()助手函数生成静态资源路径,替换原有代码:
<link rel="stylesheet" id="bootstrap-css" href="{{ asset('assets/css/bootstrap.css') }}" type="text/css" media="all">
  1. 检查public目录下的.htaccess文件
    确认配置为Laravel官方默认的规则,优先放行真实存在的静态资源请求,默认规则参考:
<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>

内容的提问来源于stack exchange,提问作者zubair malik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:15:03