W tym samouczku szybko omówimy, jak korzystać z dyrektywy TRY_FILES i dowiedzieć się, kiedy i jak z niej korzystać:
Jaka jest dyrektywa TRY_FILES i jak to działa?
Zwykle używamy dyrektywy Nginx TRY_FILES do rekurencyjnego sprawdzania, czy pliki istnieją w określonej kolejności i służyć najpierw zlokalizowanemu plikowi.
Dyrektywa TRY_FILE znajduje się w blokach serwera i lokalizacji oraz określa pliki i katalogi, w których Nginx powinien sprawdzić pliki, jeśli żądanie do określonej lokalizacji jest odbierane. Typowa składnia dyrektywy TRY_FILES jest:
Lokalizacja /
try_files $ uri $ uri//default/index.html;
Lokalizacja /blok określa, że jest to dopasowanie dla wszystkich lokalizacji, chyba że wyraźnie określono lokalizację /
W drugim bloku Try_files oznacza, że Nginx otrzyma żądanie URI, które pasuje do bloku w lokalizacji, wypróbuj najpierw $ URI, a jeśli plik jest obecny, podaj plik.
Na przykład, jeśli żądanie takie jak https: // linuxhint.com/blocks/io.cii jest odebrany, nginx najpierw będzie szukał pliku w katalogu /blokach i będzie służyć plik, jeśli jest dostępny.
Następna część (/domyślna/indeks.html) określa opcję awarii, jeśli plik nie jest w pierwszym paramie. Na przykład, jeśli plik nie ma w katalogu /blok, Nginx będzie wyszukiwać katalog /domyślny i poda plik, jeśli istnieje.
Domyślnie Nginx zabrania listy katalogu i otrzymasz 403 zabronione, chyba że masz ustawienie indeksu automatycznego.
Jeśli Nginx nie znajdzie pliku w określonych lokalizacjach, wyświetla użytkownikowi 404 nie znaleziono błędu.
NOTATKA: Dyrektywa Nginx try_files rekurencyjnie wyszukuje pliki i katalogi określone od lewej do prawej, dopóki nie znajdzie. Określenie tej dyrektywy w lokalizacji / może powodować problemy z wydajnością, szczególnie w witrynach o ogromnym ruchu. Dlatego należy wyraźnie określić blok lokalizacji dla TRY_FILES.
Wniosek
Ten szybki i prosty przewodnik dał ci przegląd działania Nginx try_block. Zalecamy nurkowanie głęboko w dokumentacji Nginx, aby zrozumieć różne bloki i kiedy je użyć.