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

本文详细解析了Nginx配置中location指令的使用方法,包括各种前缀如=、~、~*、!~、^~的意义及应用场景,通过实例展示了如何实现URL匹配、文件类型限制、目录访问控制等高级功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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都不能访

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值