Citando a documentação, não acho que isso seja possível:
If the replacement string begins with http:// then the client will be redirected, and any further rewrite directives are terminated.
Eu tenho um subdomínio, something.site.com. No meu site principal, site.com/something, gostaria de reescrever para something.site.com, mas manter o url site.com/something intacto.
Isso é algo que eu posso fazer com as regras de reescrita do nginx?
Citando a documentação, não acho que isso seja possível:
If the replacement string begins with http:// then the client will be redirected, and any further rewrite directives are terminated.
Você precisará procurar um proxy_pass em vez de uma reescrita.
Por exemplo:
server {
server_name site.com
location /something {
# you may use rewrites here to re-format the path portion of the
# URL before passing it on.
# e.g.: rewrite ^/(abc) /def last;
proxy_pass http://something.site.com; # Proxy on the request, without redirecting.
}
}