В този урок ще обсъдим бързо как да използваме директивата try_files и ще научим кога и как да я използваме:
Какво представлява директивата try_files и как работи?
Обикновено използваме директивата try_files на Nginx, за да проверяваме рекурсивно дали файловете съществуват в определен ред и да обслужваме файла, разположен първо.
Директивата try_file е в сървъра и блоковете за местоположение и указва файловете и директориите, в които Nginx трябва да проверява за файлове, ако е получена заявката до посоченото местоположение. Типичен синтаксис на директивата try_files е като:
местоположение /try_files $ uri $ uri / / default / index.html;
Местоположението / блокът посочва, че това е съвпадение за всички местоположения, освен ако изрично не е посочено местоположение /
Във втория блок try_files означава, че ако Nginx получи заявка към URI, която съответства на блока в местоположението, първо опитайте $ uri и ако файлът присъства, сервирайте файла.
Например, ако заявка като https: // linuxhint.com / blocks / io.sh е получено, Nginx първо ще потърси файла в директорията / blocks и ще го обслужва, ако е наличен.
Следващата част (/ default / index.html) указва резервна опция, ако файлът не е в първия параметър. Например, ако файлът не е в директорията / block, Nginx ще потърси директорията / по подразбиране и ще обслужва файла, ако съществува.
По подразбиране Nginx забранява списъка с директории и ще получите 403 Забранено, освен ако не сте настроили автоматичен индекс на.
Ако Nginx не успее да намери файла в посочените местоположения, той показва на потребителя грешка 404 not found.
ЗАБЕЛЕЖКА: Директивата Nginx try_files рекурсивно търси файлове и директории, посочени отляво надясно, докато ги намери. Посочването на тази директива в местоположението / може да доведе до проблеми с производителността, особено на сайтове с огромен трафик. Следователно трябва изрично да посочите блока за местоположение за try_files.
Заключение
Това бързо и просто ръководство ви даде общ преглед на това как работи Nginx try_block. Препоръчваме да се потопите дълбоко в документацията за Nginx, за да разберете различни блокове и кога да ги използвате.
- https: // nginx.org / en / docs / http / ngx_http_core_module.html # try_files
- https: // docs.nginx.com / nginx / admin-guide / web-server / serve-static-content /