Miałem bardzo długą domenę, więc postanowiłem zmienić ją na krótszą i bardziej przyjazną. Ale ponieważ mam wiele subdomen (w rzeczywistości mam symbol wieloznaczny subdomeny), chciałem zachować subdomenę, zmieniając tylko część domeny. Dlatego wprowadziłem następującą zasadę:
server {
listen 80;
server_name ~^(\w+)\.olddomain\.com$;
rewrite ^ $scheme://$1.doma.in$request_uri? permanent;
}
Przeczytałem wiele innych pytań, w których ten fragment rozwiązał problem. Ale ze mną Nginx zawsze przekierowuje do .domain.in
, bez żadnych subdomen. czego mi brakuje? Przetestowałem regex na regex101 i przykłady działają dobrze, Nginx wydaje się nie być w stanie go przekierować.
źródło
test-sub.doma.in
na.domai.in
!~
regex na początku? Nie robi się, ponieważ coś pojawi się wcześniej^
w wyrażeniu regularnym.