2015-06-19 5 views
1

Я ищу решение ошибки в моем проекте laravel 5. У меня есть проект в папке public_html, поэтому мой проект работает хорошо, кроме изображений, которые у меня есть в подпапке.Laravel 5 не загружает изображения в подпапку

Это моя структура проекта:

  • корень
    • Laravel
    • public_html
      • index.php
      • изображения
        • пользователи
          • default.jpg

У меня есть основной шаблон под названием workspace.blade.php в тег сценария я получил переменную JS сослаться мой папка проекта изображение:

<!-- Scripts --> 
    <script type="text/javascript"> 
     var Url = '{{ URL::asset('/'). Lang::getLocale() }}/'; 
     var resourcesUrl = Url + 'resources/'; 
     var imagesUrl = '{{ URL::asset('images') }}'; 
     var jsUrl = '{{ URL::asset('js/') }}'; 
    </script> 

Так в шаблоне EJS Javascript Я печать моего изображения:

<img src="<%= imagesUrl + '/users/default.jpg' %>"> 

Но консоль браузера всегда показывают мне следующую ошибку:

GET http://mydomain.com.co/users/default.jpg 404 (Not Found) 

Если я пытаюсь загрузить изображение из папки «Изображения /», она работает хорошо, но если я пытаюсь загрузить изображение внутри подпапки из изображений, таких как «images/users /», больше не работает.

Я напечатал URL напрямую, но ничего не происходит. Неправильно - laravel перенаправляет URL-адрес для маршрутизации в сборке маршрутов, и это вызывает ошибку маршрутизации.

Я не знаю, если я должен изменить свой файл .htaccess, но это он:

<IfModule mod_rewrite.c> 
<IfModule mod_negotiation.c> 
    Options -MultiViews 
</IfModule> 

RewriteEngine On 

# Redirect Trailing Slashes... 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

Спасибо за помощь мне!

+0

Этот вопрос связан с путями. URL-адрес изображения неправильный, поскольку вы пытаетесь загрузить и изображение с маршрута, который не существует – Digitlimit

+0

Также обратите внимание, что вы не можете получить доступ к папке ресурсов из общей папки.Опция заключается в перемещении ваших изображений в общую папку или вы можете найти путь к загрузке изображения из папки ресурсов с помощью пакета изображений, такого как изображение вмешательства, для динамического создания изображения. – Digitlimit

+0

Thanks Digitlimit. Маршрут существует. Он просто не работает в производстве, поэтому все отлично работает в разработке. Мои изображения не находятся в папке с ресурсами, потому что моя установка laravel находится в корневой папке. Общая папка находится в папке public_html моего сервера. – Brian

ответ

0

Вы отсутствуют images

<img src="<%= imagesUrl + '/users/default.jpg' %>"> 

Должно быть

<img src="<%= imagesUrl + '/images/users/default.jpg' %>"> 
+0

Когда я проверяю DOM, я вижу правильный маршрут, поэтому мое приложение laravel всегда ищет маршрут в route.php (RouteCollection), почему изображения главной папки/загружаются хорошо ? – Brian

+0

@Brian вы можете увидеть свое изображение в этом URL 'http: // mydomain.com.co/images/users/default.jpg' – Muhammet

0

Наконец, я нашел ошибку. Просто моя папка «images/users» и ее файлы внутри не имеют правильных разрешений. У него было 640 разрешений, поэтому я изменил это на 644.

Смежные вопросы