Перенаправление с URL-адресами подкаталогов в Nginx
Когда в моем браузере я звоню по http://myhost/tiles/yellow/1/2/3.png, я ожидаю получить контент с http://myhost/cache/yellow.png Моя конфигурация следующий
location /cache/ {
alias /my/path/cache/;
}
location /tiles/ {
try_files $uri $uri/ @rulestiles;
}
location @rulestiles {
rewrite "^/tiles/([a-zA-Z1-9]*)/[0-9]{2}/[0-9]{6}/[0-9]{6}\.png$" /cache/$1\.png permanent;
}
Что мне не хватает? Это потому, что я не использую захват везде, так как мне не нужны все параметры?
Я также не хочу использовать символические ссылки, поскольку мне понадобятся сотни миллионов символических ссылок только для нескольких сотен реальных файлов...
Спасибо за любое руководство / помощь
1 ответ
Благодаря Alexey Ten
комментарий в моем вопросе, я смог исправить мои различные ошибки.
Во-первых, мое регулярное выражение было неверным, поэтому я не собирал параметры при тестировании
Потом я тоже поменял rewrite
в proxy_pass
чтобы мой адрес был таким же
location /cache/ {
alias /my/path/cache/;
}
location ~ "/tiles/(?<section>[a-zA-Z1-9]*)/[0-9]{1,2}/[0-9]{1,6}/[0-9]{1,6}.png$" {
proxy_pass http://my.tested.ip.code/cache/$section.png;
proxy_set_header Host $host;
}
где my.tested.ip.code
это IP сервера.