我想在nginx中进行不区分大小写的url重定向 以下是我的代码。
location ~* WapsiteDataFetch{
rewrite WapsiteDataFetch(.*) http://images.xample.com/xyz/images$1 permanent;
}
在上述情况下,
www.example.com/WapsiteDataFetch
被正确重定向到http://images.xample.com/xyz/images
但是,网址"www.example.com/WAPSITEDATAFETCH"
未正确重定向。
即使我更改单个字符,也会出现404错误。
我已经尝试了很多博客,并且看到很多帖子来自堆栈溢出,其中很多都建议“〜*”,但在我的情况下它并没有帮助我。
请帮助我,因为我被困在这几天。
答案 0 :(得分:17)
使用(?i)
不区分大小写 - http://perldoc.perl.org/perlretut.html
不需要位置块。试试这个。
rewrite (?i)^/WapsiteDataFetch(.*) http://images.xample.com/xyz/images$1 permanent;
答案 1 :(得分:2)
通过在位置块内进行捕获,可以避免使用正则表达式引擎两次
location ~* WapsiteDataFetch(.*) {
return 301 http://images.xample.com/xyz/images$1;
}