我想在 nginx 中进行不区分大小写的 URL 重定向 下面是我的代码。
location ~* WapsiteDataFetch{
rewrite WapsiteDataFetch(.*) http://images.xample.com/xyz/images$1 permanent;
}
在上述情况下,
www.example.com/WapsiteDataFetch
已正确重定向至 http://images.xample.com/xyz/images
但是,URL "www.example.com/WAPSITEDATAFETCH"
未正确重定向。
即使我更改单个字符,也会出现 404 错误。
我尝试了很多博客文章,也看到了很多来自堆栈溢出的帖子,其中很多人都建议“~*”,但就我而言,这对我没有帮助。
我该如何解决这个问题?
使用
(?i)
不区分大小写地匹配 - http://perldoc.perl.org/perlretut.html
位置块不是必需的。试试这个。
rewrite (?i)^/WapsiteDataFetch(.*) http://images.xample.com/xyz/images$1 permanent;
您可以通过在位置块内进行捕获来避免使用正则表达式引擎两次
location ~* WapsiteDataFetch(.*) {
return 301 http://images.xample.com/xyz/images$1;
}