tôi thấy Nginx HttpRewriteModule documentation có một ví dụ để viết lại một miền www-tiền tố vào một miền không www-tiền tố:Nginx viết lại phi www-tiền tố miền www-tiền tố miền
if ($host ~* www\.(.*)) {
set $host_without_www $1;
rewrite ^(.*)$ http://$host_without_www$1 permanent; # $1 contains '/foo', not 'www.mydomain.com/foo'
}
Làm thế nào tôi có thể làm ngược lại - viết lại tên miền không có www-tiền tố vào tên miền có www-tiền tố? Tôi nghĩ có lẽ tôi có thể làm một cái gì đó như sau nhưng Nginx không thích lồng nhau nếu tuyên bố.
if ($host !~* ^www\.) { # check if host doesn't start with www.
if ($host ~* ([a-z0-9]+\.[a-z0-9]+)) { # check host is of the form xxx.xxx (i.e. no subdomain)
set $host_with_www www.$1;
rewrite ^(.*)$ http://$host_with_www$1 permanent;
}
}
Ngoài ra tôi muốn điều này để làm việc cho bất kỳ tên miền mà không nói cho rõ ràng Nginx để viết lại domain1.com -> www.domain1.com, domain2.com -> www.domain2.com vv kể từ khi tôi có một số lượng lớn các tên miền để viết lại.
cách sử dụng tính năng này mà không cần? – pahnin