在nginx中,我想拒绝访问特定的目录,不包括特定的目录。这是关于以下设置
拒绝访问: ../ CSS /源/ ... ../ CSS /分钟/ ... ../ JS /源/ ... ../ JS /分钟/...
允许访问: ../ CSS /分钟/包括...... ../ JS /分钟/包括......
对于此设置,我使用以下(工作)配置:
location /assets/themes/default/css/min/include/ {
allow all;
}
location /assets/themes/default/js/min/include/ {
allow all;
}
location /assets/themes/default/css/min/ {
deny all;
}
location /assets/themes/default/js/min/ {
deny all;
}
location /assets/themes/default/css/source/ {
deny all;
}
location /assets/themes/default/js/source/ {
deny all;
}
事实是,我可以想象有一种替代的低代码解决方案。例如,使用正则表达式重写。知道如何改善这个吗?
谢谢!
答案 0 :(得分:3)
使用正则表达式:
location ~ /assets/themes/default/(css|js)/(min|source)(?!/include) {
deny all;
}
此后,您的allow all;
语句和周围的位置块不再有用。