我在/ usr / app / build中有一个包。它有一个index.html。
我想:
就是这样!
以下不起作用(给出404)。也不会将try_files
参数替换为/build/index.html
,也不会为/index.html
提供明确的位置,并且try_files
参数为/index.html
。
location /build {
alias /usr/app/build;
}
location / {
try_files /usr/app/build/index.html =404;
}
我很困惑。我怎样才能做到这一点?
答案 0 :(得分:1)
提供文件的任何位置都必须包含root
或alias
,或者从周围的块继承值。在您的情况下,root
比alias
效率更高(有关详细信息,请参阅this document)。
try_files
语句的文件元素附加到root
值以生成返回文件的路径名。有关详细信息,请参阅this document。
例如:
root /usr/app;
location /build {}
location / {
try_files /build/index.html =404;
}
如果=404
始终存在,则/usr/app/build/index.html
基本上是多余的。将默认操作放在try_files
语句的末尾更为常见,例如:
root /usr/app;
location / {
try_files $uri $uri/ /build/index.html;
}
但上述内容并不符合"任何其他要求的确切要求"。