如何实现Nginx不区分大小写的目录位置重定向301

时间:2014-10-27 12:14:17

标签: nginx

我想 http://example.com/SomeThing 重定向到 http://example.com/something

something 是nginx位置(/something)目录

请建议如何实施不区分大小写的目录位置重定向

2 个答案:

答案 0 :(得分:10)

我假设http://example.com/something不会被重定向。因此,使用前缀位置与^~修饰符区分大小写匹配,以跳过检查正则表达式:

location ^~ /something {
    return 200 "case sensitive something match
";
}

现在为重定向添加不区分大小写的正则表达式位置:

location ~* ^/something {
    return 301 $scheme://$host/something;
}

答案 1 :(得分:9)

来自nginx docs

  

位置可以由前缀字符串或正则表达式定义。使用前面的“〜*”修饰符(对于不区分大小写的匹配)或“〜”修饰符(对于区分大小写的匹配)指定正则表达式。

因此,位置~*必须用于不区分大小写的匹配。

location ~* /something/ {
    # your code here
}