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

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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.