动态 URL 段的 Nginx 配置作为父段索引的参数

Nginx Configuration for Dynamic URL Segments as Arguments for Parent Segment Index

我正在尝试在配置中设置一个位置,允许我执行类似 https://example.com/car/<vin> 的操作,它不会转到 <vin> 应用程序或目录,而是转到 /car/index.html。从那里,我会阅读 URL 或将 <vin> 传递给 /car/index.html

我尝试了各种正则表达式位置块,如下所示,但在访问 /car/<vin>.

时它们都会导致 404
location ~ ^/car/(.*)$ {
    root $document_root/car/
    index index.html;
}

什么是合适的位置块?

您要使用正则表达式吗?前缀位置也可以工作,因为它匹配 /car/ 开头的任何 URI。有关详细信息,请参阅 this document

例如:

location ^~ /car/ {
    try_files /car/index.html =404;
}

root 语句中使用 $document_root 可能不起作用,并且 index 指令仅适用于以 / 结尾的 URI。 try_files 语句可能是最简单的解决方案。有关详细信息,请参阅 this document