nginx 禁止浏览器(www.xxxxx.com.cn/test/)访问目录,允许本地去访问目录和目录中文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/enjoy_sun_moon/article/details/84070244

location ^~ /test {

    return 404;

}  

解释:location ^~ 匹配浏览器的域名 区分大小写

         /test   域名后面跟着的目录名称(可以换成别的)

         return 404;也可以把 deny all 改换成 return 404,这样将返回 404 而不是 403 Forbidden,更有“欺骗性”

^ 和 ~  分别代表什么意思呢   为什么他们就代表了url呢?

  基本语法:location [=|~|~*|^~] /uri/ { … }
= 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。
~ 为区分大小写匹配(可用正则表达式)   区分大小写匹配
!~为区分大小写不匹配                           不区分大小写匹配
~* 为不区分大小写匹配(可用正则表达式)  区分大小写不匹配
!~*为不区分大小写不匹配                          不区分大小写不匹配
^~ 如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。

扩展:
location ~* \.(txt|doc)$ {
               if (-f $request_filename) {
                  root /home/domain/public_html/test;
                  break;
                  }
               }

location ~* \.bat {

  deny all;

}

tip:对某些特定后缀名禁止访问
location /phpsysinfo/ {
                        allow  192.168.0.10;
                        deny    all;
                }

tips:对某个目录进行访问限制 除了指定ip外 全部拒绝访问:

location ~ ^/(uploads|images)/.*\.(php|php5|jsp)$ {

     deny all;

}

tips:在目录uploads、images目录下面的所有php、jsp都不能访

猜你喜欢

转载自blog.csdn.net/enjoy_sun_moon/article/details/84070244
今日推荐