我的问题是关于 nginx“位置”配置块:
如果我想在 URL 中创建一个带有空格字符(好吧,%20)的位置,我可以这样做:
location ^~ "/Style Library/" {
}
如果我想创建一个不区分大小写的位置,我可以这样做:
location ~* ^/StyleLibrary/ {
}
但是,我找不到一种方法来使用空格字符来获取不区分大小写的位置。这些似乎都不起作用:
location ~* "^/Style Library/" {
}
location ~* ^/Style[^_]Library/ {
}
location ~* ^/Style\sLibrary/ {
}
location ~* ^/Style.Library/ {
}
任何人都可以帮忙吗?
最佳答案
您是否有其他正则表达式位置可能在服务器块中更早地处理请求?我刚刚在本地运行了一个测试,并能够使以下位置工作:
location ~* "^/Style Library/" {
rewrite ^ /dump.php;
}
其中/dump.php 只是一个执行 var_export($_SERVER) 的简单脚本;
我测试了这个
curl -i "dev/StYlE LiBrArY/"
我猜想其他一些位置正在处理请求而不是那个正则表达式位置。
关于Nginx 位置 - 空格不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6195897/