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

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.