URL

时间:2017-07-31 21:37:08

标签: regex nginx nginx-location

location ~ ^/random/?$ {
       try_files $uri $uri/ /api/random.php;
    }

我的nginx配置文件中有此规则,我希望能够像/random/random/

那样调用此网址

问题在于此规则允许最后的infinte尾随斜杠,例如/ random /////。也会有用。

1 个答案:

答案 0 :(得分:1)

nginx在匹配location指令时使用规范化的URI,因此在测试正则表达式时,已将多个连续的/缩减为单个/

您可以通过测试/变量来拒绝多个连续的$request_uri,该变量包含原始URI和查询字符串(如果有)。例如:

if ($request_uri ~ //) { return 403; }