Henüz başka nginx yeniden yazma kuralı soru yeniden yazın:nginx alt alan
nasıl http://*.domain.com
için http://www.*.domain.com
bir yeniden yazma yapabilirim? Sunucu faydan
Henüz başka nginx yeniden yazma kuralı soru yeniden yazın:nginx alt alan
nasıl http://*.domain.com
için http://www.*.domain.com
bir yeniden yazma yapabilirim? Sunucu faydan
if ($host ~* www\.(.*)) {
set $host_without_www $1;
rewrite ^(.*)$ http://$host_without_www$1 permanent; # $1 contains '/foo', not 'www.mydomain.com/foo'
}
Cevap: https://serverfault.com/questions/139579/nginx-subdomain-rewrite
Bu yaklaşım günümüzde önerilmemektedir. Bkz. [Ortak tuzaklar hakkında bu bölüm] (http://wiki.nginx.org/Pitfalls#Using_If). –
Önerilen yaklaşım nedir? – Tony
server {
listen 80;
listen 443;
server_name ~^www\.(\w+)\.domain\.com$;
location/{
rewrite^$scheme://$1.domain.com$request_uri? permanent;
}
}
Bunun bir çift sorgu dizesi oluşturduğuna dikkat edin, '/? Foo = bar' için bir istek' /? Foo = bar? Foo = bar' öğesine yönlendirilir. Daha iyi seçenekler olsa da, $ $ 'ın kullanılması amaçlandığı gibi çalışmaktadır. – sapht
Ekleniyor? request_uri sonra tekrarlanan sorgu dizesi sorunu önler. – tarkeshwar
Sunucu_adresinden sonra eksik bir noktalı virgül var – alvin
Benzer soru: http://stackoverflow.com/questions/2498712/nginx-subdomain-rewrite –