Нельзя использовать захват в операторе location
для создания регулярного выражения в операторе rewrite
. Регулярные выражения являются литералами и не могут быть построены с использованием переменных.
Однако вам не нужно ...
Оператор rewrite
внутри вашего блока location
видит только те URI, где значение между первыми двумя /
s следует игнорировать.
Например:
location ... {
rewrite ^/[^/]+(/.*)$ $1 last;
}
Если все языковые коды имеют длину в два символа, вы можете обобщить далее с помощью:
location ~ "^/[a-z]{2}/(img|js|css)" {
rewrite ^/[^/]+(/.*)$ $1 last;
}
Но есть много других решений, которые будут работать. Если это файлы stati c, rewrite
может быть ненужным, например:
location ~ "^/[a-z]{2}(/(img|js|css).*)$" {
try_files $1 =404;
}