rewrite domain in location
Gena Makhomed
gmm at csdoc.com
Thu Mar 19 20:23:43 UTC 2015
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