Я пытаюсь понять конфигурационный файл Nginx.
Вот мое дерево каталогов приложений:
/приложение
|-- abcd.html
|-- файл.php
|-- index.html
|-- index.php
|-- сс
| `-- index.html
|-- стиль.css
`-- thumb.png
Вот моя тестовая конфигурация nginx:
События {}
http {
перезаписать_журнал;
error_log /var/log/nginx/localhost.error_log отладка;
сервер {
включить mime.types;
корень /приложение;
слушать 8080;
индекс index.html;
место расположения / {
try_files $uri/ =404;
}
}
}
Насколько я понимаю конфигурационный файл Nginx, когда я запрашиваю локальный хост: 8080/
, согласно документации try_files, он должен проверять файл /
, то, поскольку это каталог, он должен обслуживать индексный файл внутри. Но на самом деле это не так. я тоже пробовал try_files $uri = 404;
. Он также возвращает страницу 404. Но когда я пытаюсь try_files $uri $uri/ =404
, он работает и отвечает индексным файлом. Кто-нибудь может объяснить, что происходит?
Я также попробовал кое-что еще, что не сработало, как ожидалось. Как и прежде, в контексте местоположения я попытался try_files /sss /sss/ =404
. Я ожидал, что он служит мне индексным файлом внутри ссс
каталог, независимо от того, какой у меня запрошенный URL. Но он застревает в бесконечном цикле запросов. Он отвечает перенаправлением 301 и запросами на /ссс/
URL. разве это не похоже на предыдущий случай, когда я использовал try_files $uri $uri/ =404
?