我想设置这样的路径:
location /board/1 {
alias /home/front/;
break;
}
location /board/2 {
alias /home/front/;
break;
}
location /board/{ANY_NUMBER 3..} {
alias /home/front/;
break;
}
所以我这样写:
location ^~ /board/ {
alias /home/front/;
break;
}
然后我转到/board/1
nginx访问/home/front/1
我想访问/home/front
当我这样设置时:
location /board/1 {
alias /home/front/;
break;
}
nginx成功接入/home/front
有人能解释一下发生了什么吗?
通过使用alias
指令,nginx基本上将位置路径的一部分(在本例中为/board/1
或/board
(替换为alias
指令指定的路径(/home/front/
(。因此,如果在位置路径中使用数字,它将被替换,但如果它不在位置路径上,它将保留。
您可能想使用正则表达式位置:
location ~* ^/board/[0-9]+/ {
alias /home/front/;
}