Перенаправление с 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
задан 1 May 2015 в 03:32
1 ответ

Благодаря комментарию Алексея Тен в моем вопросе я смог исправить различные ошибки.

Во-первых, мое регулярное выражение было неправильным, поэтому я не собирал параметры при тестировании

Затем я также изменил rewrite на proxy_pass , чтобы мой URL остался прежним

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-адрес сервера.

0
ответ дан 4 December 2019 в 07:45

Теги

Похожие вопросы