Regex 将url与大写字母匹配,除非它包含.jpg、.css、.js等文件名

Regex 将url与大写字母匹配,除非它包含.jpg、.css、.js等文件名,regex,redirect,nginx,regex-negation,Regex,Redirect,Nginx,Regex Negation,我需要一个正则表达式,可以匹配与大写字母的url,但不匹配,如果它包含一个像.jpg,.css,.js等文件名 我想将所有大写url重定向为小写,但仅当它不指向文件资源时。尝试使用类似的正则表达式可视化工具 下面是一个正则表达式的示例,它近似于您尝试执行的操作: \w+\.(?:com|net)(?:/[A-Z]+){1,}[/]?(?:\.jpg|\.png|\.JPG|\.PNG){0}$ \w+\.?:com|net捕获word.com或word.net形式的域。如果您还想捕获子域,则需

我需要一个正则表达式,可以匹配与大写字母的url,但不匹配,如果它包含一个像.jpg,.css,.js等文件名


我想将所有大写url重定向为小写,但仅当它不指向文件资源时。

尝试使用类似的正则表达式可视化工具

下面是一个正则表达式的示例,它近似于您尝试执行的操作:

\w+\.(?:com|net)(?:/[A-Z]+){1,}[/]?(?:\.jpg|\.png|\.JPG|\.PNG){0}$
\w+\.?:com|net捕获word.com或word.net形式的域。如果您还想捕获子域,则需要添加其他域或改进此功能。 ?:/[A-Z]+{1,}[/]?捕获所有caps目录,如/FOO/BAR/,并带有可选的尾部斜杠。 ?:\.jpg\.png\.jpg\.png{0}$只捕获列出的扩展中的零个;显然,您需要添加到此扩展列表中。
但也许要重新考虑你的路线;最好将所有资产保存在服务器上的专用目录中,因此,在处理其他URL时,您只需将任何请求不加更改地传递给mysite.com/assets/。

实际上,我想重定向到:但我不想重定向到,因此正则表达式在有大写字母时应与URL匹配,但仅当它不以.jpg.css等文件结尾时。更改[a-Z]+组到\w+。\w+\.?:com | net:/\w+{1,}[/]?:\.jpg |\.png |\.jpg |\.png{0}$也将匹配,但我只希望它在有大写字母时匹配