从$ uri NGINX获得部分

我现在正在学习有关NGINX上的位置指令,然后我要求只获取$ uri的一部分。

例如,URL为http://example.com/2019/10/92/cat/file.mp4,然后在NGINX上使用$ uri将获得:/2019/10/92/cat/file.mp4。有没有办法只获得部分$ uri?

我的目标是从URL /2019/10/92/cat获得具有一定深度的目录名称,例如:http://example.com/2019/10/92/cat/file.mp4

这必须适用于任何URL,并且仍会产生相同深度的dir:

http://example.com/2019/10/92/cat/file.mp4-> /2019/10/92/cat http://example.com/2019/10/92/cat/cat_2/file.mp4-> /2019/10/92/cat

感谢您的帮助。

xugh1987 回答:从$ uri NGINX获得部分

您应该使用正则表达式。

location ~* ^/(?<somepartfromuri>.*)/*.mp4 {
      set $myvar ${somepartfromuri};

(未经测试)

本文链接:https://www.f2er.com/3138985.html

大家都在问