Невозможно загрузить изображения (ошибка 404) с доменом / подкаталогом для laravel на nginx 1.13
У меня проблемы с загрузкой изображений, сохраненных в каталоге изображений по умолчанию laravel (laravelroot / public / images). Я установил laravel на http://domain/laravelroot. вот конфигурации:
server {
listen 80;
server_name localhost;
index index.php;
root /usr/share/nginx/html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ /.well-known {
allow all;
}
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
access_log off;
log_not_found off;
expires 360d;
}
location ^~ /laravelroot {
alias /usr/share/nginx/html/laravelroot/public;
try_files $uri $uri/ @laravelroot;
location ~ \.php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/laravelroot/public/index.php;
}
}
location @laravelroot {
rewrite /laravelroot/(.*)$ /laravelroot/index.php?/$1 last;
}
при проверке элемента его домен ссылается на http://localhost/imagefile. когда я открываю изображения на новой вкладке и меняю URL на http://localhost/laravelroot/images/imagefile.png он загружается.
Я попытался поместить расположение изображений в директивах laravelroot.
location ^~ /laravelroot {
alias /usr/share/nginx/html/laravelroot/public;
try_files $uri $uri/ @laravelroot;
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
alias /usr/share/nginx/html/laravelroot/public/images;
access_log off;
log_not_found off;
expires 360d;
}
location ~ \.php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/laravelroot/public/index.php;
}
}
и не работал. провел несколько часов, но понятия не имею, сегодня
1 ответ
Я нашел проблему. Самому Laravel необходимо установить базовый путь для изображений.
я помещаю все ресурсы в общую папку, затем использую метод HTML::image(), и мне нужен только аргумент, который представляет собой путь к изображению относительно относительной общей папки:
{{HTML:: image ('images / picture.png')}}, который генерирует следующий HTML-код:
http://localhost/images/picture.png
кажется слишком далеко от серверной неисправности. но все равно спасибо.