From 239fd0d2bfce271fe35d9801558acbde6c342b6f Mon Sep 17 00:00:00 2001 From: fatihalp Date: Sat, 28 Mar 2026 02:34:47 +0300 Subject: [PATCH] Fix public media routing for demo storage files --- .../Controllers/PublicMediaController.php | 19 +++++++++++++++++++ Modules/Site/routes/web.php | 5 +++++ config/filesystems.php | 4 +++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 Modules/Site/App/Http/Controllers/PublicMediaController.php diff --git a/Modules/Site/App/Http/Controllers/PublicMediaController.php b/Modules/Site/App/Http/Controllers/PublicMediaController.php new file mode 100644 index 000000000..46cb0d941 --- /dev/null +++ b/Modules/Site/App/Http/Controllers/PublicMediaController.php @@ -0,0 +1,19 @@ +exists($path), 404); + + return Storage::disk(LocalMedia::disk())->serve($request, $path); + } +} diff --git a/Modules/Site/routes/web.php b/Modules/Site/routes/web.php index dc33afa80..cd30e3ac8 100644 --- a/Modules/Site/routes/web.php +++ b/Modules/Site/routes/web.php @@ -3,6 +3,11 @@ use Illuminate\Support\Facades\Route; use Modules\Site\App\Http\Controllers\HomeController; use Modules\Site\App\Http\Controllers\LanguageController; +use Modules\Site\App\Http\Controllers\PublicMediaController; + +Route::get('/storage/{path}', [PublicMediaController::class, 'show']) + ->where('path', '.*') + ->name('media.legacy'); Route::middleware('web')->group(function () { Route::get('/', [HomeController::class, 'index'])->name('home'); diff --git a/config/filesystems.php b/config/filesystems.php index ef7a1d802..de508d903 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -7,6 +7,7 @@ return [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app/private'), + 'url' => env('APP_PRIVATE_STORAGE_URL', '/private-storage'), 'serve' => true, 'throw' => false, 'report' => false, @@ -15,7 +16,8 @@ return [ 'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), - 'url' => env('APP_PUBLIC_STORAGE_URL', '/storage'), + 'url' => env('APP_PUBLIC_STORAGE_URL', '/media'), + 'serve' => true, 'visibility' => 'public', 'throw' => false, 'report' => false,