2010-02-04 18 views
12

Konfiguruję Nginx i muszę użyć dyrektywy lokalizacji, aby dopasować wszystkie żądania zaczynające się od /site1 I zakończyć na .php. W jakim regexu używam tego?lokalizacja nginx regex

Wiem, że mogę użyć ^, aby dopasować początek łańcucha i $, aby dopasować koniec łańcucha. Więc jestem w stanie dopasować początek ciągu LUB końca łańcucha jako ^(/site)|(\.php)$. Czy jest jakiś operator "i", więc mogę napisać coś w stylu: ^(/site)&(\.php)$?

Odpowiedz

17

Chcesz tego: ^(/site).*(\.php)$. Oznacza to, że najpierw dopasujesz początek, a następnie "/ site", następnie dowolną liczbę razy, a na końcu ".php", a następnie końcówkę łańcucha. Jeśli nie potrzebujesz przechwytów, będzie to łatwiejsze niż: ^/site.*\.php$.