Acho que algo assim deveria resolver o problema.
No meu exemplo, para testar o que foi retornado, adicionei a variável $topdir no cabeçalho.
map $request_uri $topdir {
~(?<captured_topdir>^/[a-zA-Z0-9]+[/]) $captured_topdir;
}
server {
listen 80;
root /var/www;
index index.html;
location / {
add_header X-Top-Dir $topdir;
}
}
-
http://mydomain.com/dir/sub/slug/page.htmldeve retornar/dir/ -
http://mydomain.comouhttp://mydomain.com/page.htmlnão deve retornar nada