Re: Работа location с алиасом

izorkin на gmail.com izorkin на gmail.com
Пн Окт 24 06:46:51 UTC 2022


Здравствуйте, Максим.

Спасибо за пояснение.

Вариант с использованием префиксной строки будет быстрее обрабатываться
nginx-ом, по сравнение с использованием регулярных выражений? Не смотря
на увеличение итогового объёма конфигурационного файла?
```
    root /var/www;

    location / {
      try_files $uri =404;
    }

    location /test/ {
      try_files $uri =404;
      alias /var/test/;
    }

    location /custom/ {
      try_files $uri =404;
      alias /var/test/;
    }
```


Вы писали 23 октября 2022 г., 23:36:37:

> Hello!

> On Sun, Oct 23, 2022 at 08:19:58PM +0300, izorkin на gmail.com wrote:

> Директива "alias" заменяет совпавшую часть location'а на заданный 
> путь.  Если же location задан регулярным выражением, то "совпавшей 
> части" как таковой нет, и это работает так (цитата по 
> http://nginx.org/r/alias/ru):

> : Если alias используется внутри location’а, заданного регулярным 
> : выражением, то регулярное выражение должно содержать выделения, а 
> : сам alias — ссылки на эти выделения (0.7.40), например:
> : 
> : location ~ ^/users/(.+\.(?:gif|jpe?g|png))$ {
> :     alias /data/w3/images/$1;
> : }

> То есть всё работает ровно так, как должно/документировано. 

> Безусловно, в конкретном примере оно работает не очень ожидаемо 
> для пользователя.  Но, скажем так, это не единственный пример, 
> когда location'ы, заданные регулярными выражениями, работают не 
> очень ожидаемо для пользователя.  Лучше использовать location'ы, 
> заданные префиксной строкой, Игорь даже как-то доклад об этом 
> делал.




-- 
С уважением,
 Izorkin                          mailto:izorkin на gmail.com



Подробная информация о списке рассылки nginx-ru