我正在尝试使用try_files
指令来提供以下机制:我有一个包含静态文件的共享文件夹:
.
├── _shared
│ └── assets
│ ├── favicon.ico
│ └── logo.png
├── website1
│ └── assets
│ └── favicon.ico
├── website2
│ └── assets
│ └── logo.png
└── website3
└── assets
└── hello.txt
我的目标是:如果请求的文件存在网站文件夹,则将其返回,否则,如果文件存在于 _shared 文件夹中,则将其返回,否则为404。
例如:
website1.com/assets/favicon.ico
- > 200(来自/website1/assets/favicon.ico
)website1.com/assets/logo.png
- > 200(来自/_shared/assets/logo.png
)website2.com/assets/favicon.ico
- > 200(来自/_shared/assets/favicon.ico
)website2.com/assets/logo.png
- > 200(来自website2/assets/logo.png
)website3.com/assets/hello.txt
- > 200(来自website3/assets/hello.txt
)website1.com/assets/hello.txt
- > 404 是否可以使用try_files
执行此操作?怎么样 ?如果没有,是否可以做其他事情?
注意:尝试this但没有成功。
答案 0 :(得分:0)
以下配置工作,例如。 website1
:
location /assets {
root /website1;
try_files $uri @default_assets;
}
location @default_assets {
root /_shared;
}