2016-11-30 3 views
2

Ситуации: У меня есть страница-template.blade.php файл с изображением:Laravel лезвие IMG не загружается из различных ссылок

<img src="./images/picture.png"> 

И у меня есть три вида, который расширяет страницу-шаблон:

Когда я иду на сайт из http://exaple.com/ и http://exaple.com/login я вижу picture.png (браузер читать из http://exaple.com/images/picture.png). Но когда я перехожу на сайт с http://exaple.com/change-password/token, то я не вижу picutre (потому что браузерная звезда читала его: http://exaple.com/change-password/images/picture.png, которого не существует)

Почему?

ответ

1

Это не из-за шаблонов Клинка. Когда вы начинаете путь от точки src="./images/picture.png", веб-браузер пытается найти PNG-файл относительно каталога текущего HTML-файла в URL-адресе.

Если у вас есть изображение <img src="./images/picture.png"> в файл доступен по адресу: http://example.com/dir1/dir2/dir3/file, браузер попытается извлечь файл из http://example.com/dir1/dir2/dir3/images/picture.png

Как сказал @ алексей-Мезенин, вы можете использовать asset() помощника или использовать абсолютный путь <img src="/images/picture.png"> если вы уверены, что ваш сайт никогда не будет доступен в подкаталоге.

+0

спасибо за разъяснение - в моем случае я меняю 'http: // exaple.com/change-password/token' на' http: //exaple.com/change-password? Токен = xxx', и он работает :) –

3

Используйте asset() помощник, чтобы избежать такого рода проблем:

<img src="{{ asset('images/picture.png') }}"> 

Изображение должно быть в public/images

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