nginxredirect/到/ v2 /

我有一个nginx的位置定义如下:

location / { alias /usr/share/nginx/myapp/dist/; gzip_static on; # Media: images, icons and fonts location ~* \.(?:jpg|jpeg|png|ico|otf)$ { expires 2M; access_log off; add_header Cache-Control "public"; } # CSS, HTML and Javascript location ~* \.(?:css|js|html)$ { expires 4h; access_log off; add_header Cache-Control "public"; } } 

但由于某种原因,许多用户没有得到我最后的index.html更新。 由于这是至关重要的,很多用户抱怨我想重新确定/(/index.html,/#/ myTeam)到/ v2 /(/v2/index.html,/ v2 /#/ myTeam)的每个请求。 所以生病肯定用户caching不是一个问题。

Iv'e创build了一个名为/ v2 /的新位置,并将所有内容移动到那里,然后更改为:

  # Serve locations location / { return 301 /v2/; } 

但是那没用。 也尝试了几次重写没有运气。 我可以redirect吗?

你正在redirect每个请求/blah/blah/whatever ,只是简单/v2/这不是你想要的。

 location / { return 301 /v2$request_uri; } 

将保留原始请求的URI,并将其预先join/v2/