私はいつもnginxの設定に問題があるようです。私のSPAは/ mnt/q/appにあり(pushstateは有効)、フロントエンドルートはclient/publicにあります。すべては、アプリケーションがルートを取得し、何をすべきかを決定するindex.htmlにマップする必要があります。スパムとサブディレクトリのルートを持つnginxの設定
インデックスへのフルパスは/mnt/q/app/client/public/index.html
です。
私は今、オプションがなくなったと思います。私が何をしていても、nginxから404のバックを取得しているだけです。設定が簡単で、何が間違っているのかわかりません。
server {
listen 80;
server_name app.dev;
root /mnt/q/app;
location/{
root /client/public;
try_files $uri @rewrites =404;
}
location @rewrites {
rewrite ^(.+)$ /index.html last;
}
}
何か助けていただければ幸いです。
ありがとうございます。しかし、私は将来、複数の場所を追加したいと考えています。たとえば、apiとauthコンポーネントを追加します。パスは/ mnt/q/app/api /と/ mnt/q/app/authにありますが、/ apiと/ authに置いてください。それぞれ、 私はこのアプローチでそれを実現できるかどうかはわかりません。私はこの要点を "テンプレート"として使用しました:https://gist.github.com/aotimme/5006831 – marekpw
ローカルパスは、 'root '値をURIと連結することで形成され、'/api'と '/ auth 'ブロックは' root '(外側のブロックから継承することができる)に同じ値を使用します。私は '/ index.html'はあなたの質問で言及されたファイルのURIであると推定しました。これは' root'に対して別の値を必要とします。アップデートを参照してください。 –
ありがとう、それは私の問題を解決しました。 – marekpw