私はnginxがフロントエンドで静的ファイルを見つけるのに苦労していました。try_files
すべてがうまくいくように、見かけにサーモンの繰り返しディレクティブを追加しました。
location /frontend {
try_files $uri /;
}
root {{ static_root }};
index /frontend/index.html;
location / {
rewrite ^.*$ /frontend/index.html break;
}
私の質問は:最初のディレクティブがなければ、なぜこれが機能しないのですかlocation /frontend
?
答え1
これはrewrite
無差別であり、すべての要求(.css
ファイルを含む.js
)に適用されます。別のlocation
URIを追加すると、/frontend
始まるURIを防ぐことができますrewrite
。
以下を使用して同様の結果を得ることができます。
root /path/to/root;
location / {
try_files $uri $uri/ /frontend/index.html;
}
バラよりこのファイルもっと学ぶ。