我有一个 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/
块中。