如何能让下面的同一个目录,同时在2个真实目录中进行查找对应文件?
location ^~ /static/ {
# root D:/PhpstormProjects/GitHub/zhgh/;
alias D:/PhpstormProjects/GitHub/zhgh/node_modules/;
alias D:/PhpstormProjects/GitHub/zhgh/static/;
}
如何能让下面的同一个目录,同时在2个真实目录中进行查找对应文件?
location ^~ /static/ {
# root D:/PhpstormProjects/GitHub/zhgh/;
alias D:/PhpstormProjects/GitHub/zhgh/node_modules/;
alias D:/PhpstormProjects/GitHub/zhgh/static/;
}
location /aaa {
alias xxxx;
try_files $uri $uri/ @a1;
}
location @a1 {
alias bbbb;
}
未经测试
8 回答2.9k 阅读
2 回答1.6k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
4 回答1.5k 阅读
4 回答4.2k 阅读
1 回答840 阅读✓ 已解决
2 回答1.2k 阅读
上面的答案我测试了不行。
nginx 下
@name
形式的location
中不能够使用alias
。经过我多次尝试,这样的配置应该最符合你的要求
location
需要用正则,把 static 后面的路径提取出来,作为变量$1
。指定 root 路径。
try_files $uri /node_modules/$1 =404;
含义:先尝试
D:/PhpstormProjects/GitHub/zhgh/static/index.html
再尝试
D:/PhpstormProjects/GitHub/zhgh/node_modules/index.html
都找不到返回
404
。更新
不使用正则的方式,需要先用
alias
找node_modules
,最后用root
找static
,先后顺序不能变。