Nginx过滤url

过滤链接中的?

在nginx的配置文件中写入

   
location / {
        # 当访问的url中含有/%#时返回404
        if ($request_uri ~* "/%#") {
            return 404;
        }
        #当访问url的后面带有?的链接 返回404
        if ($request_uri ~*  ^/a/m/(.*)\.html\?(.*)$) {
             return 404;
        }
 }

nginx 正则表达式

=开头表示精确匹配,如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。

^~ 开头表示uri以某个常规字符串开头,不是正则匹配

~ 开头表示区分大小写的正则匹配;

~* 开头表示不区分大小写的正则匹配

.*   .匹配任意字符,*匹配数量0到正无穷;

\.   \转义,匹配. 

/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值