سلام وقت بخیر دوستان
مشکل اینجاست که لینک زیر اجرا نمیشه و ارور 404 میده
http://127.0.0.1:8000/storage/upload/img/1.jpg
اما لینک زیر اجرا میشه
http://localhost/storage/upload/img/1.jpg
و نکته جالب اینکه لینک های زیر به درستی اجرا میشن به این معنی که http://127.0.0.1:8000 به درستی ست شده
<link rel="stylesheet" href="http://127.0.0.1:8000/assets-theme1/css/style.css">
<link rel="stylesheet" href="http://127.0.0.1:8000/assets-theme1/slick/slick.css">
کانفیگ های من:
filesystems.php
'public' => [
'driver' => 'local',
'root' => storage_path('upload'),
'url' => env('APP_URL').'/storage/upload',
'visibility' => 'public', //private
],
.env
APP_URL=http://127.0.0.1:8000
app.php
'url' => env('APP_URL', 'http://127.0.0.1:8000'),
و دستورات زیر هم چندین بار وارد کردم
php artisan storage:link
php artisan config:clear
php artisan config:cache
@rezajahangir متشکرم از پاسخگویی
پاسخ صحیح سوالام این هست که لینک http://127.0.0.1:8000/storage/upload/img/1.jpg نباید هم اجرا بشه بلکه برای دسترسی پابلیک به فایل های استوریج باید از لینک شورتکد فایل در پوشه پابلیک استفاده کرد ، یعنی http://127.0.0.1:8000/img/1.jpg
'links' => [
public_path('img') => storage_path('upload\img')
],
در قسمت link از filesystems.php طبق بالا مشخص کرده بودم که شورت کد از فایل های storage/upload/img در پوشه img پابلیک گرفته بشه ، لذا فراخوانی هم بایستی از همان پوشه پابلیک باشد.
بعد از تغییر در فایل env. باید php artisan serve رو مجدد اجرا کنید، همین کارو انجام دادین؟
@rezajahangir بله دستور php artisan serve رو مجدد اجرا کردم ، اما ارور 404 همچنان پابرجاست
@rezajahangir دستور php artisan serve --port=8000 هم تاثیری نداشت.
برای فراخوانی از asset استفاده میکنم و در تمام حالتی که در env مشخص میکنیم همیشه 127.0.0.1:8000 پاس داده میشود ، و برای link و سایر بخش ها هم 127.0.0.1:8000 اجرا میشود و تنها برای تصاویر storage نمیتوان از 127.0.0.1:8000 استفاده کرد. storage تنها با localhost اجرا میشود.
<img src="{{ asset('storage'.$item->user_avatar()->file_url) }}"
<link rel="stylesheet" href="{{asset('assets-theme1/css/style.css')}}">
@rezajahangir متشکرم از پاسخگویی
پاسخ صحیح سوالام این هست که لینک http://127.0.0.1:8000/storage/upload/img/1.jpg نباید هم اجرا بشه بلکه برای دسترسی پابلیک به فایل های استوریج باید از لینک شورتکد فایل در پوشه پابلیک استفاده کرد ، یعنی http://127.0.0.1:8000/img/1.jpg
'links' => [
public_path('img') => storage_path('upload\img')
],
در قسمت link از filesystems.php طبق بالا مشخص کرده بودم که شورت کد از فایل های storage/upload/img در پوشه img پابلیک گرفته بشه ، لذا فراخوانی هم بایستی از همان پوشه پابلیک باشد.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟