Правило перезаписи Nginx для удаления узла пути


20

Допустим, пользователь пытается получить доступ к указанному изображению на моем сайте, используя следующий URL: http://www.mywebsite.com/blog/image1.jpg?someParam=100

Мне нужно переписать правило для этого, удалив узел «блог» из пути:

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

Ответы:


27

Попробуй это:

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

Если вам это нужно для более чем одного сайта, вы не можете просто поместить его выше в иерархии, поскольку предложение «location» не может быть указано глобально, только для конкретного сайта. Если вам нужно добавить это предложение для двух или более сайтов, вы можете поместить его в другой файл конфигурации, а затем просто «включить» его в каждый сайт, для которого требуется это перенаправление.


Это работает на том же сервере. Как заставить это работать для другого домена?
Автодидакт

1
Просто rewrite ^/blog(/.*)$ https://blog.example.com$1 permanent;
Кристоф
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.