私のアプリケーションでは、場所 "/"で静的なindex.htmlファイルを返し、 "/ static"でフォルダーから静的ファイルを提供し、他のすべての要求で404 NOT FOUNDを返します。後で、他のすべての要求をWSGIサーバーにリダイレクトします。
これは現在私の設定です:
# Dev server.
server {
listen 1337;
charset UTF-8;
location / {
rewrite ^ static/index_debug.html break;
}
location /static {
alias /home/tomas/projects/streamcore/static;
}
}
静的フォルダは完全に機能していますが、「/」は404 NOT FOUNDを返します。私も試しました:
alias /home/tomas/projects/streamcore/static/index_debug.html;
ロケーションブロックでは、500の内部サーバーエラーが返されます。alias
単一のファイルが好きではないようです。さらに私は試しました:
try_files static/index_debug.html;
ただし、これにより、「try_filesディレクティブの引数の数が無効です」というエラーでサーバーが起動しなくなります。どうやらtry_files
実際には複数のファイルを試す必要があるようですが、これは私が探している動作ではありません。
だから私の質問は:どのようにして静的ブロックを常に返すようにロケーションブロックを構成するのですか?
編集:私alias
は実際に単一のファイルを引数として受け入れるはずの他の回答から見たので、私は試しました:
location = / {
alias /home/tomas/projects/streamcore/static/index_debug.html;
}
しかし、まだ500の内部サーバーエラーしか発生しません。「/」リクエストのエラーログには次のように記載されています。
[アラート] 28112#0:* 7「/home/tomas/projects/streamcore/static/index_debug.htmlindex.html」はディレクトリではありません
「index_debug.htmlindex.html」を開こうとするのはなぜですか?index
ディレクティブをどこでも使用していません。
location =/
404 NOT FOUNDが表示され、location /
500内部サーバーエラーが表示されるので、提案を試してみます。
location / { return 404; }
location = / {Index /home/tomas/projects/streamcore/static/index_debug.html;}
try_files static/index_debug.html static/index_debug.html;