Не работает реврайт

Перенес сайт на новый сервер с другой панелью управления (aaPanel) перенес конфиг сайта nginx, все работает кроме одного rewrite, что можете посоветовать?

Код:

location / {
    location /image {
      rewrite ^/image/(.+).jpg$ /static/image.php?id=$1 last;
    }
}

По этому адресу изображение есть:

https://mydomain.com/static/image.php?id=AtYOA6MXJ6U

А тут 404:

https://mydomain.com/image/AtYOA6MXJ6U.jpg

Как исправить?


Ответы (1 шт):

Автор решения: Aleksey Vaganov

Поищите среди других location регулярку, под которую попадает ваш запрос /image/AtYOA6MXJ6U.jpg. Например location ~* \.jpg$

Дело в порядке обработки локейшанов. Ваш location /image будет обработан после:

  1. location = /image/AtYOA6MXJ6U.jpg
  2. location ^~ /image
  3. location ~* .jpg$

Чтобы увидеть весь конфиг дайте команду nginx -T

→ Ссылка