Сейчас я изучаю директиву местоположения в NGINX, затем у меня есть требование получить только некоторую часть $ uri.
Например, URL равен http://example.com/2019/10/92/cat/file.mp4, тогда в NGINX с использованием $ uri получим: /2019/10/92/cat/file.mp4. Есть ли способ получить только часть $ uri?
http://example.com/2019/10/92/cat/file.mp4
/2019/10/92/cat/file.mp4
Моя цель - получить имя dir с определенной глубиной уровня, например: /2019/10/92/cat с URL http://example.com/2019/10/92/cat/file.mp4
/2019/10/92/cat
Thisдолжен работать с любым 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
http://example.com/2019/10/92/cat/cat_2/file.mp4
Любая помощь приветствуется.
Вы должны использовать регулярное выражение.
location ~* ^/(?<somepartfromuri>.*)/*.mp4 { set $myvar ${somepartfromuri};
(не проверено)