Рейтинг:1

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

флаг cn

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

сервер {
    слушать 80 по умолчанию;

    корень /var/www/html;

  место расположения / {
        try_files $uri $uri/ /index.php$is_args$args;
    }


    местоположение /А/Б {
        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. Удаление .

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

местоположение /A/B/C {
            try_files $uri $uri/ /A/B/index.php?$args;
}

Но это не сработало. Затем я попытался

местоположение /A/B/C {
    proxy_pass http://localhost/A/B; # обратите внимание на косую черту здесь, это важно!
}

Я думаю, что мне, возможно, нужен другой способ, так как мне нужен /ХХХ/ГГГ путь после .

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

djdomi avatar
флаг za
если путь пропал, рассмотрите возможность использования `return 301 https://newpath;`
Рейтинг:0
флаг jp

Вам нужно будет переписать URL, чтобы удалить С элемент пути.

Например:

переписать ^(/A/B/)C/(.*)$ $1$2 навсегда;

Вы можете разместить это в сервер блок или в местоположение ^~ /A/B/C/ блокировать.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.