Regra de reescrita do Nginx para remover o nó do caminho

20

Digamos que um usuário tente acessar uma determinada imagem no meu site usando o seguinte URL: http://www.mywebsite.com/blog/image1.jpg?someParam=100

Eu preciso de uma regra de reescrita para isso, removendo o nó 'blog' do caminho:

http://www.mywebsite.com/image1.jpg?someParam=100

marcosbeirigo
fonte

Respostas:

27

Tente este:

location /blog {
 rewrite ^/blog(/.*)$ $1 last;
}

Se você precisar disso para mais de um site, não poderá colocá-lo mais alto na hierarquia, porque a cláusula "location" não pode ser especificada globalmente, apenas para sites específicos. Se você precisar adicionar esta cláusula a dois sites ou mais, poderá colocar outro arquivo de configuração e apenas "incluí-la" em cada site que precise desse redirecionamento.

kworr
fonte
Isso funciona no mesmo servidor. Como fazê-lo funcionar para os diferentes domínios?
Autodidata
1
Basta incluir o novo domínio como parte da reescrita: rewrite ^/blog(/.*)$ https://blog.example.com$1 permanent;
Christophe