nginx 返回并保留 url

nginx 返回并保留 url

我们在工作中遇到这样一种情况,我们试图在路由到同一服务器上的 index.html 文件时保留 url。

https://myserver.com/ad/987987 我们希望路由到 https://myserver.com/ad/index.html但保留原始网址

我尝试过的事情:

location ~ ^/ad/([0-9]+) {
  return 301 https://$server_name/ad/index.hmtl;
}

- 路线更改有效,但它会改变网址

location ~ ^/ad/([0-9]+) {
  proxy_pass https://$server_name/ad/index.html;
  proxy_set_header Host $host;
}

- 返回 404

location ~ ^/ad/([0-9]+) {
  rewrite "(/ad/[0-9]+)" /ad/index.hmtl;
}
  • 返回 502

我不知道接下来该怎么做。

答案1

您很可能正在寻找这个:

location ~ ^/ad/([0-9]+) {
    try_files /ad/index.html;
}

这使得 nginx 查找语句/ad/index.html中与模式匹配的每个 URL 。location

相关内容