Regola di riscrittura di Nginx per rimuovere il nodo del percorso


20

Supponiamo che un utente tenti di accedere a una determinata immagine sul mio sito Web utilizzando il seguente URL: http://www.mywebsite.com/blog/image1.jpg?someParam=100

ho bisogno di una regola di riscrittura a questo, rimuovendo il nodo 'blog' dal percorso:

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

Risposte:


27

Prova questo:

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

Se hai bisogno di questo per più di un sito non puoi semplicemente metterlo più in alto nella gerarchia perché la clausola "location" non può essere specificata a livello globale, solo per un sito specifico. Se è necessario aggiungere questa clausola per due o più siti, è possibile inserirlo in un altro file di configurazione e quindi "includerlo" in ciascun sito che necessita di questo reindirizzamento.


Questo funziona per lo stesso server. Come farlo funzionare per il diverso dominio?
Autodidatta,

1
Includi solo il nuovo dominio come parte della riscrittura: rewrite ^/blog(/.*)$ https://blog.example.com$1 permanent;
Christophe,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.