Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
regex不允许nginx位置拒绝文件扩展名_Regex_Nginx_Pcre_Nginx Location - Fatal编程技术网

regex不允许nginx位置拒绝文件扩展名

regex不允许nginx位置拒绝文件扩展名,regex,nginx,pcre,nginx-location,Regex,Nginx,Pcre,Nginx Location,在nginx上,我试图对给定子树只允许一些扩展,而拒绝所有其他扩展,如gif、zip、exe、php 我想使用正则表达式来定义允许的扩展 以下是我使用消极前瞻的尝试: (\.(?!(jpg | png | jpeg))$正则表达式与输入端的匹配,因为\.和$之间没有消费模式。您需要为扩展添加一个消费模式,例如匹配除以外的任何1+字符的[^.]+: \.(?!(png|jpe?g)$)[^.]+$ 注:我将jpeg | jpg压缩为jpe?g,并在前瞻中添加了字符串结束检查,以便以禁止的扩展名开

nginx上,我试图对给定子树只允许一些扩展,而拒绝所有其他扩展,如gif、zip、exe、php

我想使用正则表达式来定义允许的扩展

以下是我使用消极前瞻的尝试:

(\.(?!(jpg | png | jpeg))$
正则表达式与输入端的
匹配,因为
\.
$
之间没有消费模式。您需要为扩展添加一个消费模式,例如匹配除
以外的任何1+字符的
[^.]+

\.(?!(png|jpe?g)$)[^.]+$
注:我将
jpeg | jpg
压缩为
jpe?g
,并在前瞻中添加了字符串结束检查,以便以禁止的扩展名开始的扩展名(如
png2
(如果您遇到过)可以匹配,而
png
则无法匹配。

是的,非常清晰,在前瞻中的$和结尾!
\.(?!(png|jpe?g)$)[^.]+$