Подскажите, почему данная конструкция может не работать в Винде так

как я ожидаю?

set $root F:/web/app/public;
root $root;

location = / {
root $root/pages;
index index.html;
}
На линуксе у меня все работает, а на винде сайт не отображается, и пишет в логах вот что:
2022/05/07 19:33:54 [error] 14256#15568: *10 CreateFile() "F:/web/app/public/index.html" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
pages пропадает.
Не переопределяется root внутри локейшена почему-то.

9 ответов

2 просмотра

Виндовые пути в конфиге надо брать в кавычки.

Потому что неявная директива try_files $uri $uri/ =404 (поведение фазы PRECONTENT по умолчанию) совместно с директивой index index.html генерирует внутренний редирект c / на /index.html И новый URI /index.html не попадает в location = / { ... }, а следовательно использует root по умолчанию. Зато вот это location = /index.html { root $root/pages; } сделает то, что ты хочешь.

Max-Shane Автор вопроса
Johann
Потому что неявная директива try_files $uri $uri/ ...

Мне так и на линуксе делать надо? Там у меня все работает и так как у меня написано

Max Shane
Мне так и на линуксе делать надо? Там у меня все р...

Ты уверен, что у тебя там location = /, а не location /?

Max-Shane Автор вопроса
Johann
Ты уверен, что у тебя там location = /, а не locat...

Да уверен. Я скопировал конфиг вообще, и потом лишнее удалил.

Max-Shane Автор вопроса
Johann
Ты уверен, что у тебя там location = /, а не locat...

Вот так вот сделал на винде, и все заработало. Но черт возьми, на что я убил 40 минут. Почему это работает не также как на Линуксе... location = / { root $root/pages; index index.html index.htm; } location = /index.html { root $root/pages; }

Max-Shane Автор вопроса

Я не понял, но у меня же сайт работает как надо) Я сейчас хочу посмотреть, что у меня будет сервер возвращать. Это нужно в aсcess.log смотреть?

Max Shane
Я не понял, но у меня же сайт работает как надо) ...

Нет Этого в логах по умолчанию нет Но ты можешь определить свой logformat и добавить в него $request_filename

Max-Shane Автор вопроса
Johann
Нет Этого в логах по умолчанию нет Но ты можешь оп...

Друг. Спасибо тебе за потраченное время. Я только что увидел как я слеп и невнимателен. И действительно мои сайты работают благодарю чуду. В одном сайте у меня внизу написано: location / { root $root/pages; try_files $uri $uri/ /$uri.html; } Наверно это позволяет ему работать правильно. А на других сайтах, у меня index.html лежит в public, а не в pages. Получается чудеса бывают)

Похожие вопросы

Обсуждают сегодня

Добрый день. Созданию отношения таблиц для учёта кораблей, их движения между точками (портами) согласно расписания. Терзают сомнения в правильном ли направлении двигаюсь 😅 1...
Aleksey
1
I have financial chart like this I can mask by color to get green and red squares. I want get two data First i want to get two last squares(two in the very right side colors) ...
@. .@
4
Привет. Наверняка у кого-нибудь здесь есть опыт работы с трекерами (встроенными в OpenCV (KCF) или абстрагированными) на одноплатниках. Если не рассматривать малинку и други...
Georgy Makarov
4
Приветствую. Есть N видео объектов (фильмы). Часть полной длины просмотра а часть короткие ( обрезаны титры). Задача найти идентичные фильмы. Я не в курсе, есть ли аналог шаз...
Nikolay Chudinov
7
https://youtu.be/d8Jx6zO1yw0?si=AvWkrBe-RS3FAlWX Компилировал с CUDA по этому гайду, единственно моменты: 1) С VS 2022 работает, нужно только что бы была установлена среда C...
Denis
3
И всё-таки спрошу насчет такого вариант, сомнительно или нет? (Windows стоять не будет)
Georgy Makarov
5
Hi guys Do you know any persian/farsi or english group for opencv?
@. .@
4
Приветствую. Подскажите, как можно исправить баланс белого на подобных примерах фото, именно, чтобы брать белый цвет с корпуса теста? А след. шагом будет определение оттенка п...
Volad Malevich
3
Кто знает как подружить Gstreamer с OpenCV? Вот такой пайплайн я шлю с гстримера но OpenCV + python у меня никак не получается его воспроизвести "gst-launch-1.0 nvarguscameras...
Artem
3
Как потом сделать чтобы питон видел нахождение скомпилированных файлов? Я через системные переменные пробовал указать расположение но не помогло
Artem
5
Карта сайта