Nginx-regex以降低任何uri期望的文件



我正试图编写一个正则表达式,将任何大写url重定向为小写,但它应该排除文件。

location ~ ^[A-Z]?(?!.*(.)).*$ {
rewrite_by_lua_block {
ngx.redirect(string.lower(ngx.var.uri), 301);
}
}

我尝试了不同的组合,但没有像预期的那样工作,请建议任何正则表达式应该作用于包含大写字母的uri,但如果它最终是一个文件,则忽略它。

示例:

https://wwwalls.com/category/Entertainment [match]
https://wwwalls.com/images/test.Png [dont match]

这样做:

location ~ ^[^.]*[A-Z][^.]*$ {
rewrite_by_lua_block {
ngx.redirect(string.lower(ngx.var.uri), 301);
}
}

Regex^[^.]*[A-Z][^.]*$将匹配任何在任何位置都没有DOT的URI,并且必须至少有一个大写字母。

相关内容

最新更新