使用正则表达式时,nginx 位置块不指向位置目录

时间:2021-04-07 21:20:31

标签: regex nginx

当我不使用正则表达式时,我有一个位置块。

location ^~ /mapdata/ {
    alias /data/map/coordinates/;
}

当我访问 http://localhost/mapdata/2002/g.txt 时,我正在从文件中获取数据。

当我更改位置并使用正则表达式时。我无法读取文件,位置块是正确的。但是网址会在末尾添加一个额外的斜线 http://localhost/mapdata/2002/g.txt 更改为 http://localhost/mapdata/2002/g.txt/

location ~ "^/mapdata/([\d]{4})/.*.txt$" {
    alias /data/map/coordinates/;
}

1 个答案:

答案 0 :(得分:2)

alias 位于 正则表达式 location 需要捕获文件的完整路径。有关详细信息,请参阅 the documentation

例如:

location ~ "^/mapdata/([\d]{4}/.*\.txt)$" {
    alias /data/map/coordinates/$1;
}
相关问题