Reguła przepisywania Nginx w celu usunięcia węzła ścieżki


20

Załóżmy, że użytkownik próbuje uzyskać dostęp do danego obrazu w mojej witrynie przy użyciu następującego adresu URL: http://www.mywebsite.com/blog/image1.jpg?someParam=100

potrzebuję do tego przepisać regułę, usuwając węzeł „blog” ze ścieżki:

http://www.mywebsite.com/image1.jpg?someParam=100

Odpowiedzi:


27

Spróbuj tego:

location /blog {
 rewrite ^/blog(/.*)$ $1 last;
}

Jeśli potrzebujesz tego dla więcej niż jednej witryny, nie możesz po prostu ustawić go wyżej w hierarchii, ponieważ klauzula „lokalizacja” nie może być określona globalnie, tylko dla konkretnej witryny. Jeśli musisz dodać tę klauzulę dla dwóch lub więcej witryn, możesz umieścić inny plik konfiguracyjny, a następnie po prostu „dołączyć” go do każdej witryny, która wymaga tego przekierowania.


Działa to na tym samym serwerze. Jak sprawić, by działał w innej domenie?
Autodidact

1
Wystarczy dołączyć nową domenę w ramach przepisywania: rewrite ^/blog(/.*)$ https://blog.example.com$1 permanent;
Christophe
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.