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

标签 nginx

我的问题是关于 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/

相关文章:

ruby-on-rails - nginx.conf(拒绝写入权限)。我该如何解决?

nginx - 无法让 ab 测试与 gzip 一起使用

php - 重试模式,如何确定 PHP 中的失败类型

nginx - 如何禁用缓存 nginx

php - 当文件大小大于 2mb 时,Laravel 文件上传失败

docker - Nginx-单击 anchor 链接时,Localhost端口丢失

php - Docker - 安装 php-memcached 扩展不工作?

regex - 使用 nginx 重定向所有小于固定值的 id,如何?

nginx - 配置 NGINX 以响应 204 百分比的传入请求

php - nginx 和 php 拒绝访问