Как в Nginx сделать rewrite без изменения URL в адресной строке?
Добрый день!
Никак не могу решить следующую задачу:
Есть сайт с субдоменом, к примеру onetwo.domain.com
Нужно сделать так, чтобы при вводе адреса domain.com/one/two/ открывался сайт, указанный выше, но в адресной строке оставалось то, что ввели.
Не знаю возможно ли это, но хорошо бы еще, чтобы при вводе onetwo.domain.com, происходил редирект на domain.com/one/two/ без циклического редиректа.
Я написал такой код: rewrite ^/one/two/ http://onetwo.domain.com/ last;
но адрес в строке меняется, т.к. нужно указывать относительный путь, но как это сделать с субдоменом не знаю.
Если на всё это на одной машине и это разные системы, то можно менять root в зависимости от хоста. Если это одна система, то можно менять через единую точку входа в зависимости от запроса, т.е. переложить работу на серверную сторону, например:
proxy_pass и адрес останется неизменным.
То есть делаете не rewrite в location, а proxy_pass onetwo.domain.com/; получите по искому адресу то, что живет там куда proxy_pass указал.