Обрезка пути и перенаправление в Nginx

Обрезка пути и перенаправление в Nginx

У меня есть сервер Wordpress. www.mydomain.com/A/B Конфигурация Nginx такая:

server {
    listen 80 default;

    root /var/www/html;

  location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }


    location /A/B {
        try_files $uri $uri/ /A/B/index.php?$args;
    }
...
}

Это работает отлично.

Сейчас я хочу перенаправить устаревший путь на новый путь.

В принципе я хочу www.mydomain.com/A/B/C/XXX/YYY/ZZZ--> www.mydomain.com/A/B/XXX/YYY/ZZZ. Удаление /C.

Я считаю, что я мог бы сделать это с помощью:

location /A/B/C {
            try_files $uri $uri/ /A/B/index.php?$args;
}

Но это не сработало. Тогда я попробовал

location /A/B/C {
    proxy_pass http://localhost/A/B;  # note the trailing slash here, it matters!
}

Думаю, мне, возможно, нужен другой способ, так как мне нужен /XXX/YYYпуть после /C.

Любая помощь приветствуется. Спасибо.

решение1

Вам придется переписать URL-адрес, удалив Cэлемент пути.

Например:

rewrite ^(/A/B/)C/(.*)$ $1$2 permanent;

Вы можете поместить это в serverблок или в location ^~ /A/B/C/блок.

Связанный контент