Проблемы с символической ссылкой Laravel 5.6, 404 Not Found, но путь действительно существует

Недавно я развернул свое приложение 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}}">

Я торчу здесь уже два дня, буду очень признателен за любую помощь заранее спасибо .

Проблемы с символической ссылкой Laravel 5.6, 404 Not Found, но путь действительно существуетПроблемы с символической ссылкой Laravel 5.6, 404 Not Found, но путь действительно существует

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
1 042
2

Ответы 2

Вы упустили одну вещь: вы не можете получить доступ к файловой системе из папки хранилища напрямую, как вы написали выше. Если вы хотите получить доступ к нему публично, загрузите свои документы в общедоступный каталог.

Вы можете получить доступ к файлам из папки хранилища только через маршрут.

Если вы хотите отобразить какие-либо загруженные файлы в Интернет, загрузите файлы в общий каталог и если вы хотите защитить свой файл от прямого доступа, загрузите файл в каталог хранилища.

narayansharma91 27.02.2019 11:03

Вы проверили ссылку в браузере? Сначала вам нужно проверить и подтвердить ее из браузера.

Amit Kumar 27.02.2019 11:16

@NarayanSharma, что я хотел сделать, загрузить файлы в каталог хранилища laravel, чтобы защитить их, а затем получить к ним доступ, создав симлинк из файла public_html. извините, но я не понял, что я должен сделать, чтобы исправить это

harounbest 27.02.2019 11:17

@AmitKumar в браузере не работает, но это может быть потому, что он не объявлен в route/web.php

harounbest 27.02.2019 11:20

@harounbest, если вы хотите сохранить свой файл в хранилище, он не будет отображаться в браузере. Что вы можете сделать, так это поместить гиперссылку с тестовой «загрузкой», и как только вы нажмете на нее, она перейдет к определенным маршрутам и загрузится оттуда.

narayansharma91 27.02.2019 11:26

@NarayanSharma я пытаюсь понять, почему он не работает, так как символическая ссылка установлена ​​​​правильно, и она отлично работает на локальном сервере.

harounbest 27.02.2019 13:14

Нет, это не так, поскольку вы создали символическую ссылку для хранилища, нет необходимости объявлять маршрут. Пожалуйста, проверьте разрешение файла программной ссылки

Amit Kumar 28.02.2019 12:03

Переместите папку thumbs с изображениями в public/img и удалите симлинк. Нет смысла делать это таким образом.. Что бы ни было общедоступным, оно должно быть общедоступным, почему вы должны хранить изображения в папке хранилища?

я следил за документацией laravel по этому вопросу, теперь я пытаюсь понять, почему он не работает, так как символическая ссылка установлена ​​​​правильно, и она отлично работает на локальном сервере

harounbest 27.02.2019 13:14

Другие вопросы по теме