我是 nginx 新手。请帮助解决一个问题。我们有多个动态 URL 可以访问同一资源。URL 可能位于
http://5.3.5.11/t/1/ui3
(/t/* 可以更改为任何随机数)
listen 80;
server_name 5.3.5.11;
root /opt/retail/;
location ~*/ui3 {
try_files $uri $uri/ /ui3;
}
- 当我点击 URL 时,
http://5.3.5.11/t/1/ui3
它会被重定向到,http://5.3.5.11/ui3
但我希望保持不变 (http://5.3.5.11/t/1/ui3
)。我的位置块应该访问资源,即 /ui3。我如何避免更改浏览器 URLhttp://5.3.5.11/t/1/ui3
- 我可以在位置中设置图案之类的东西吗
location ~ */t/[0-9]+/ui3
?
答案1
try_files
只是内部的如果未找到之前指定的文件,则重定向到最后一个参数。因此,您不会注意到 URI 有任何变化。泰罗·基尔卡宁要求提供完整的配置。您应该提供可重现所指行为的最小工作配置。- Regex
location
支持 PCRE,所以为什么不呢?如果您在使用 PCRE 时遇到问题,请说明您的问题。