我是ngnix的新手,也许我的问题很简单,但我无法找到对角线问题:
我们将我们的网络应用程序从0.6.4迁移到0.6.5。可以肯定的是,我们的用户不会将旧文件保留在浏览器缓存中,我们会在我们的网址前加上版本号,以强制刷新:例如https://qa.share.place/ v0.6.5 / place / (:placeId)
所以我需要那些使用旧网址格式为网址添加书签的人 https://qa.share.place/ v0.6.4 / place /(:placeId)重定向到新网址。
我尝试用这种方式重写网址:
server {
server_name qa.share.place;
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server ipv6only=on;
ssl_certificate /etc/letsencrypt/live/qa.share.place/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/qa.share.place/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/qa.share.place/fullchain.pem;
include /etc/nginx/snippets/ssl.conf;
#https://forum.nginx.org/read.php?2,267685,267686
#keepalive_timeout 70;
root /home/ubuntu/share_place/bin/static;
index index.html index.htm index.nginx-debian.html;
#return 302 https://www.share.place/upgrade;
gzip on;
gzip_min_length 1000;
gunzip on;
client_body_in_file_only clean;
client_body_buffer_size 32K;
sendfile off;
send_timeout 300s;
client_max_body_size 1000M;
#================ here is my issue
rewrite ^(\/v0\.6\.4\/)(.*) /v0.6.5/$2 last;
location /v0.6.5 {
proxy_pass http://localhost:3000/ ;
}
}
问题是,我有一个404,而且我不知道如何记录重定向(重写)网址的位置,以了解墙后发生的事情。
重写后是否仍然解释了路由位置/v0.6.5 {} ?或重写是否会在发生后跳过任何处理?
请帮助