问题
nginx我的项目放在了nginx/html文件夹中,如
-- nginx
------html
----------项目一
----------项目二
于是我在nginx.conf中写了如下:
location /项目一 {
root html;
index index.html;
}
location /项目二 {
root html;
index index.html index.htm;
}
能够正确访问到各个项目,但是在访问静态资源的时候却所有项目的静态资源查找目录都是html。
如
request: "GET /js/app.c930e0fe.js HTTP/2.0", referrer: "网址/项目一"
期待访问的地址应该是html/项目一/js/app.c930e0fe.js,但是实际访问的是html/js/app.c930e0fe.js。
#尝试
尝试1
我尝试写了:
location /项目一 {
alias html/项目一;
index index.html;
}
location /项目二 {
alias html/项目二;
index index.html index.htm;
}
仍然没有奏效,在html文件夹找静态资源。
尝试二
我尝试通过referrer,在静态资源前面加上项目地址:
map $http_referer $referrer_path {
"~^我的网址/(.*)/$" /$1;
}
成功获取了referrer_path。但是在静态资源前面加上这个referrer_path,却失败了。
尝试三
location ~* \.(js|css|woff|jpg|png|woff2)$ {
if ($request_uri ~ "^/([^?]*)") {
set $request_path $1;
}
if ($http_referer ~* "^我的网址/([^?]*)") {
set $referrer_path $1;
}
set $resource_path "html/$referrer_path/$request_path";
try_files =404 /$resource_path;
}
写下这个代码后仍然到html文件夹寻找静态文件。