В этом руководстве мы быстро обсудим, как использовать директиву try_files, и узнаем, когда и как ее использовать:
Что такое директива try_files и как она работает?
Обычно мы используем директиву Nginx try_files, чтобы рекурсивно проверять, существуют ли файлы в определенном порядке, и обслуживать файл, расположенный первым.
Директива try_file находится в блоках server и location и указывает файлы и каталоги, в которых Nginx должен проверять файлы, если получен запрос в указанное место. Типичный синтаксис директивы try_files выглядит так:
место расположения /try_files $ uri $ uri / / по умолчанию / индекс.html;
Местоположение / блок указывает, что это соответствие для всех местоположений, если явно не указано местоположение /
Внутри второго блока try_files означает, что если Nginx получает запрос на URI, который соответствует блоку в местоположении, сначала попробуйте $ uri, а если файл присутствует, обслужите файл.
Например, если такой запрос, как https: // linuxhint.com / blocks / io.sh получен, Nginx сначала будет искать файл в каталоге / blocks и обслуживать файл, если он доступен.
Следующая часть (/ default / index.html) указывает вариант возврата, если файл не находится в первом параметре. Например, если файла нет в каталоге / block, Nginx будет искать каталог / default и обслуживать файл, если он существует.
По умолчанию Nginx запрещает список каталогов, и вы получите 403 Forbidden, если у вас не включен автоматический индекс.
Если Nginx не может найти файл в указанных местах, он отображает ошибку 404 не найден для пользователя.
ПРИМЕЧАНИЕ: Директива Nginx try_files рекурсивно ищет файлы и каталоги, указанные слева направо, пока не найдет их. Указание этой директивы в местоположении / может вызвать проблемы с производительностью, особенно на сайтах с большим трафиком. Следовательно, вы должны явно указать блок местоположения для try_files.
Заключение
Это быстрое и простое руководство дало вам обзор того, как работает Nginx try_block. Мы рекомендуем углубиться в документацию Nginx, чтобы понять различные блоки и когда их использовать.
- https: // nginx.org / en / docs / http / ngx_http_core_module.html # try_files
- https: // документы.nginx.com / nginx / руководство-администратора / веб-сервер / статический-контент /