W tym artykule wyjaśnimy przykłady Regex lokalizacji Nginx w tym artykule.
Wymagania wstępne
W tym artykule zakłada się, że Nginx jest już zainstalowany w twoim systemie.
Składnia dyrektywy lokalizacji Nginx
Dostępna jest następująca składnia do katalogu lokalizacji w pliku konfiguracyjnym Nginx:
lokalizacja [modyfikator] [URL-Match]Blok lokalizacji Nginx można dodać do bloku serwera lub w innym miejscu z pewnymi predefiniowanymi warunkami. W powyższej składni modyfikator jest parametrem opcjonalnym. Obecność modyfikatorów w bloku lokalizacji pozwala Nginx radzić sobie z adresem URL w innej kolejności. Tutaj wymieniono kilka modyfikatorów z kilkoma przykładami:
Dopasowanie wszystkich żądań do bloku lokalizacji Nginx
„/” Służy do lokalizacji prefiksów do dopasowania wszystkich żądań. Jeśli jednak nie zostaną przeszukane żadne najlepsze dopasowania, zostanie ono używane jako ostatni wynik.
Przykład
W poniższym bloku lokalizacji będzie pasować do wszystkich żądań:
Directory dopasowania za pomocą bloku lokalizacji w Nginx
Poniższy przykład będzie pasował do dowolnego żądania w bloku lokalizacji, który zaczyna się od /obrazy /. W związku z tym poszukiwanie bardziej konkretnego dopasowanego bloku w stosunku do żądanego URI. Jeśli jednak Nginx nie wyszukuje bardziej konkretnego dopasowania, blok lokalizacji zostanie wybrany bezpośrednio.
Przykład
W poniższym przykładzie Nginx będzie pasować do dowolnego żądania w bloku lokalizacji, który zaczyna się od /obrazy /.
Dokładnie dopasuj za pomocą modyfikatora lokalizacji „=” (równych)
Modyfikator '=' Znak równy jest używany po dokładnie dopasowaniu bloku lokalizacji do żądanego URI.
Przykład
Nginx najpierw próbuje dopasować najbardziej specyficzne lokalizacje przedrostka. Jednak w poniższym przykładzie modyfikator „=” w bloku lokalizacji dokładnie pasuje do żądanej ścieżki prefiks.
W wyżej wymieniony przykład bloku lokalizacji modyfikator lokalizacji „= '.com/IMGS. URL „myDomain/IMGS/indeks.html 'lub „myDomain/IMGS/” nie będzie pasować do tego warunku.
Wrażliwy na regex dopasowanie za pomocą modyfikatora Tilda (~)
Modyfikator Tilda (~) wykonuje wrażliwe na literę wyrażenie regularne wyszukiwanie dopasowania z żądanym URI i ciągle wyszukuje lepsze dopasowanie.
Przykład
Modyfikator ~ w poniższym przykładzie wykonuje dopasowanie regularnego wyrażenia (wyrażenie regularne) w bloku lokalizacji:
Nieczuły dopasowanie przypadków za pomocą modyfikatora Tilda (~*)
Znak Tilde z modyfikatorem gwiazdkową (~*) odpowiada dowolnym żądaniu (pod względem rozczulenia przypadków) w następnym bloku lokalizacji, które kończy się konkretnym formatem pliku, takim jak plik kończący się na PNG, GIF, ICO, JPEG, JPG, CSS lub JS. Jednak wszelkie żądania wysyłane do folderu / IMGS / Folder będą rozrywane przez poprzedni blok lokalizacji.
Przykład
W poniższym bloku lokalizacji będzie pasował do wszystkich typów plików wrażliwych.
Znak Caret-Tilde (^~) modyfikator dopasowania Regex
Modyfikator Caret-Tilda (^~) służy do wykonania wrażliwego na literę dopasowania wyrażenia regularnego z żądanym adresem URL. Dlatego jeśli dopasowany URI zostanie dopasowany do /IMGS lub /IMGS /PICO.png, przestaje szukać lepszego dopasowania.
Lokalizacja ^~ /imgsWniosek
Omówiliśmy kilka przykładów i ważne szczegóły dotyczące dyrektywy lokalizacji Nginx z Regex. Wspomnieliśmy również o zastosowaniu modyfikatorów z przykładami w tym artykule. Mam nadzieję, że ten artykuł pomoże ci zrozumieć główną koncepcję bloków lokalizacji w Nginx. Dzięki!