Как из исходного регулярного выражения исключить отдельную метку (локейшн)?

Как я могу предоставить доступ к локейшну "/.qwerty/", не нарушая конфигурацию "location ~ (/\.| ...) { deny all; }"?
  • 4 октября 2023 г. 18:27
Ответы на вопрос 2
Для исключения отдельной метки (локейшна) из конфигурации "location ~ (/\.| ...) { deny all; }" вы можете использовать модификатор "!~", который исключает совпадение регулярного выражения.

Таким образом, вы можете создать новую конфигурацию, которая позволит доступ к локейшну "/.qwerty/", не нарушая остальную конфигурацию. Например:

location ~ ^/\.qwerty/ {
    allow all;
}

location ~ (/\.| ...) {
    deny all;
}

Это позволит доступиться к локейшну "/.qwerty/", но запретит доступ ко всем остальным локейшнам, соответствующим регулярному выражению "(/\.| ...)".
location ~ (?!/\.qwerty/)(/\.| ...) {
    отклоните все;
} 
Похожие вопросы