Règle de réécriture Nginx pour supprimer le nœud de chemin

20

Supposons qu'un utilisateur tente d'accéder à une image donnée sur mon site Web à l'aide de l'URL suivante: http://www.mywebsite.com/blog/image1.jpg?someParam=100

j'ai besoin d'une règle de réécriture pour cela, supprimant le nœud 'blog' du chemin:

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

marcosbeirigo
la source

Réponses:

27

Essaye celui-là:

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

Si vous en avez besoin pour plus d'un site, vous ne pouvez pas simplement le placer plus haut dans la hiérarchie car la clause "location" ne peut pas être spécifiée globalement, uniquement pour un site spécifique. Si vous devez ajouter cette clause pour deux sites ou plus, vous pouvez lui ajouter un autre fichier de configuration, puis l'inclure dans chaque site qui a besoin de cette redirection.

kworr
la source
Cela fonctionne pour le même serveur. Comment le faire fonctionner pour les différents domaines?
Autodidacte
1
Il suffit d'inclure le nouveau domaine dans le cadre de la réécriture: rewrite ^/blog(/.*)$ https://blog.example.com$1 permanent;
Christophe