Nginx位置 - 对空格不区分大小写

时间:2011-06-01 03:16:58

标签: nginx

我的问题是关于nginx“位置”配置块:

如果我想在URL中创建一个带空格字符(好,%20)的位置,我可以这样做:

location ^~ "/Style Library/" {
}

如果我想创建一个不区分大小写的位置,我可以这样做:

location ~* ^/StyleLibrary/ {
}

但是,我找不到一种方法来获取空格字符不起作用的不区分大小写的位置。这些似乎都不起作用:

location ~* "^/Style Library/" {
}

location ~* ^/Style[^_]Library/ {
}

location ~* ^/Style\sLibrary/ {
}

location ~* ^/Style.Library/ {
}

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

您是否有其他可能在服务器块中更早处理请求的正则表达式位置?我刚刚在本地进行了测试,并且能够使以下位置工作:

location ~* "^/Style Library/" {
  rewrite ^ /dump.php;
}

其中/dump.php只是一个执行var_export($ _ SERVER)的简单脚本;

我用

测试了这个
curl -i "dev/StYlE LiBrArY/"

我猜其他位置正在处理请求而不是正则表达位置。