
У меня есть сервер 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/
блок.