我想要使用在路径中间有令牌的端点来访问目录中的图像等资源。
http://example.com/contextpath/<token>/logos/myLogo.png
Example: http://example.com/contextpath/abc1234/logos/myLogo.png
我正在尝试在 nginx.conf 中对其进行配置,并将此配置用于将资源指向一个目录:
location ~ ^/contextpath/(logos/.*) {
root "C:/temp/logos";
}
但它不起作用。
答案1
C:/temp/logos/myLogo.png
为了响应 URL http://example.com/contextpath/abc1234/logos/myLogo.png
(文本标记abc1234
未知)提供文件,您应该将正则表达式location
与一起使用try_files
。
例如:
location ~ ^/contextpath/[^/]+/logos(/.*)$ {
root "C:/temp/logos";
try_files $1 =404;
}
该序列匹配两个s/[^/]+/
之间的任何标记。/
文本“logos”应该出现在捕获中或声明中root
- 而不是像您的示例中那样同时出现。