Недавно я развернул свое приложение Laravel на сервере общего хостинга с доступом по ssh, на моем локальном компьютере все работало отлично. но сервер возвращает следующую ошибку:
failed to load resource the server responded with a status of 404 (not found)
для изображений, хранящихся в laravel_directory/storage/app/public/ я успешно создал символическую ссылку на public_html/storage, запустив
ln -sfv /home/dtruxpgw/repositories/SoukElfalah/storage/app/public/ storage
из каталога public_html я тоже пробовал оба
ln -s /home/dtruxpgw/repositories/SoukElfalah/storage/app/public /home/dtruxpgw/public_html/storage
ln -s /home/dtruxpgw/repositories/SoukElfalah/storage/app/public /home/dtruxpgw/public_html
я тоже бегал
php artisan storage:link
и
chmod 775 -R storage
когда я бегу
ls -la /home/dtruxpgw/public_html/storage
я получил
lrwxrwxrwx 1 dtruxpgw dtruxpgw 59 Feb 27 09:04 /home/dtruxpgw/public_html/storage -> /home/dtruxpgw/repositories/SoukElfalah/storage/app/public/ in the cPanel the storage file exist and linked to laravel_directory/storage/app/public/ here it is the html code
<img class = "card-img-top thumbnail" src = "{{$img_name?asset('/storage/images/thumbs/'.$img_name) : asset('/storage/images/thumbs/default.png')}}" alt = "{{$img_name}}">
Я торчу здесь уже два дня, буду очень признателен за любую помощь заранее спасибо .






Вы упустили одну вещь: вы не можете получить доступ к файловой системе из папки хранилища напрямую, как вы написали выше. Если вы хотите получить доступ к нему публично, загрузите свои документы в общедоступный каталог.
Вы можете получить доступ к файлам из папки хранилища только через маршрут.
Вы проверили ссылку в браузере? Сначала вам нужно проверить и подтвердить ее из браузера.
@NarayanSharma, что я хотел сделать, загрузить файлы в каталог хранилища laravel, чтобы защитить их, а затем получить к ним доступ, создав симлинк из файла public_html. извините, но я не понял, что я должен сделать, чтобы исправить это
@AmitKumar в браузере не работает, но это может быть потому, что он не объявлен в route/web.php
@harounbest, если вы хотите сохранить свой файл в хранилище, он не будет отображаться в браузере. Что вы можете сделать, так это поместить гиперссылку с тестовой «загрузкой», и как только вы нажмете на нее, она перейдет к определенным маршрутам и загрузится оттуда.
@NarayanSharma я пытаюсь понять, почему он не работает, так как символическая ссылка установлена правильно, и она отлично работает на локальном сервере.
Нет, это не так, поскольку вы создали символическую ссылку для хранилища, нет необходимости объявлять маршрут. Пожалуйста, проверьте разрешение файла программной ссылки
Переместите папку thumbs с изображениями в public/img и удалите симлинк. Нет смысла делать это таким образом.. Что бы ни было общедоступным, оно должно быть общедоступным, почему вы должны хранить изображения в папке хранилища?
я следил за документацией laravel по этому вопросу, теперь я пытаюсь понять, почему он не работает, так как символическая ссылка установлена правильно, и она отлично работает на локальном сервере
Если вы хотите отобразить какие-либо загруженные файлы в Интернет, загрузите файлы в общий каталог и если вы хотите защитить свой файл от прямого доступа, загрузите файл в каталог хранилища.