サイトは 1 つの html ファイルにほぼ完全に含まれています。他のすべてのファイルは、画像、css、または javascript であり、場合によっては json ファイルでもあります。
server {
listen 80;
server_name git.vosnax.ru;
location / {
try_files $uri "/index.html";
root /home/sybiam/prod/blog;
index index.html;
}
}
これが私の現在の構成ですが、これは完璧ではありません。ファイルが存在しない限り、すべてのリクエストを index.html にリダイレクトします。
何らかの理由で、GET 引数を削除します。JavaScript内で使用できるので、それらを保持したいと思います。
ここで、サイトに永続性を追加したいと思います。非常に単純な認証を使用してサーバーからjsonを保存およびロードするように、GETおよびPOSTをサポートします。つまり、使えませんJSONP
。
/api/*
問題は、ファイルが存在しない限り、すべてのリクエストをピラミッド Web サーバーに転送し、他のすべてを index.htmlに転送するように nginx を構成する方法についてのみです。
物事を簡単にするために別のドメインでサーバーをホストすることもできますが、クロスドメイン要求を処理する方法がわかりません。CORS
古い IE ではサポートされていません。
編集:
どうやらクエリ引数は常に利用可能だったので、もう問題ではありません。私のJavaScriptは、ロード時にパス名をオーバーライドし、window.location.search
.