我正试图编写一个正则表达式,将任何大写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,并且必须至少有一个大写字母。