@Galdar
Web, JS, PHP, NGINX, Linux

Как используя регулярное выражение выбрать папку с любым именем?

Хочу указать в исключение любое имя каталога но почему-то не работает (.+), ругается на то, что нет фиксированной длины
+ A quantifier inside a lookbehind makes it non-fixed width
^/c/.+\.(min\.js|js|php|cgi|pl|phtml)(?<!index\.php|d\.php|t\.js|app/project/_resource/s/|app/project/ вот_тут_любое_имя_каталога  /js/с\.min\.js)
  • Вопрос задан
  • 170 просмотров
Решения вопроса 1
@dodo512
В каталоге /c/ запретить доступ ко всем файлам кроме:
/c/index.php
/c/d.php
/c/t.js
/c/app/project/_resource/s/
/c/app/project/[^/]+/js/c\.min\.js

location ~ ^/c/(?!index\.php|d\.php|t\.js|app/project/_resource/s/|app/project/[^/]+/js/c\.min\.js) {
    return 403;
}


Или
location ^~ /c/ {
    return 403;

    location ~ ^/c/(index|d)\.php {
        fastcgi_pass ...;
        include fastcgi_params;
    }

    location = /c/t.js { }

    location /c/app/project/_resource/s/ { }

    location ~ ^/c/app/project/[^/]+/js/c\.min\.js { }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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