On 19.03.2015 21:55, cilrill wrote:

Есть необходимость отдавать весь контент из location pdf с другого доменного
имени.
тобишь при "заходе" на ссылки вида www.name.ru/pdf/lalala.pdf контент
отдавался с pdf.name.ru/pdf/lalala.pdf

сделал вот так, работает, но насколько верно?

location ^~ /pdf/ {

if ($host = www.name.ru) { return 301 $scheme://pdf.name.ru$request_uri; }

можно ли обойтись без if ?


можно, для этого выбор сервера надо делать
с помощью server_name и default_server:

server {
   listen 11.22.33.44:80 default_server;
   return 400;
}

server {
   listen 11.22.33.44:80;
   server_name www.example.com;
   ...
   location ^~ /pdf/ { return 301 $scheme://pdf.name.ru$request_uri; }
}

server {
   listen 11.22.33.44:80;
   server_name pdf.example.com;
   ...
}

тогда во второй и третий сервера попадут только запросы
к соответствующим $server_name, а в первый - все остальные.

--
Best regards,
 Gena

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить