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

Laravel File Manager图片上传时出现404错误求助

解决Laravel File Manager上传时404错误的方案

我来帮你排查这个Laravel File Manager的404问题,这类错误通常和路由、符号链接或者配置有关,你可以按以下步骤逐一检查:

  • 检查路由是否正确注册
    首先确认你已经在routes/web.php中注册了Laravel File Manager的路由,标准写法如下:

    Route::group(['prefix' => 'laravel-filemanager'], function () {
        \UniSharp\LaravelFilemanager\Lfm::routes();
    });
    

    注册完成后,一定要清空路由缓存,执行这条命令:

    php artisan route:clear
    
  • 验证存储目录的符号链接
    Laravel File Manager依赖存储目录到public目录的符号链接来访问文件,执行以下命令创建链接:

    php artisan storage:link
    

    执行后去项目的public目录下看看有没有storage文件夹,如果之前创建过但失效了,可以先删除旧的storage链接再重新执行上面的命令。

  • 核对文件系统配置
    打开config/filesystems.php,确认disks数组里的public配置是正确的:

    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],
    

    同时检查.env文件里的APP_URL是否设置正确,比如你的情况应该是APP_URL=http://localhost

  • 确认中间件配置
    如果你的应用用到了认证或自定义中间件,要确保Laravel File Manager的路由能被正确访问。可以在路由组里添加合适的中间件,比如需要登录才能访问的话:

    Route::group(['prefix' => 'laravel-filemanager', 'middleware' => ['web', 'auth']], function () {
        \UniSharp\LaravelFilemanager\Lfm::routes();
    });
    

    要是允许未登录用户访问,就去掉auth中间件即可。

  • 检查服务器重写规则
    不同服务器的重写规则配置会影响路由的解析:

    • 如果你用Apache,确保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>
      
    • 如果你用Nginx,确认站点配置里有正确的try_files规则:
      location / {
          try_files $uri $uri/ /index.php?$query_string;
      }
      

    重写规则不正确的话,服务器会无法将请求转发给Laravel处理,导致404。

  • 清除所有缓存
    最后,清除配置缓存和视图缓存,确保所有配置都生效:

    php artisan config:clear
    php artisan view:clear
    

按照这些步骤检查下来,应该能解决这个404问题,如果还有疑问可以再补充细节哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:38:56