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