2017-04-22 19 views
3

react.jsアプリケーションをサーバーにアップロードしました。私はnginxサーバーを使用しています。アプリケーションは正常に動作しています。しかし、私が別のページ&に行ったとき、サイトは機能しません。 404エラーが見つかりません。react.jsアプリケーションがnginxサーバーで404が見つかりませんでした

どうすればこの問題を解決できますか?

ありがとうございます。

答えて

12

react.jsアプリが読み込まれると、ルートはフロントエンドでreact-routerで処理されます。たとえば、あなたはhttp://a.comです。その後、ページ上でhttp://a.com/bにナビゲートします。このルート変更は、ブラウザ自体で処理されます。今度は、新しいタブでURL http://a.com/bを更新または開くと、特定のルートが存在しないので、あなたはnginxに行きます。

これを避けるには、ルートファイルをロードする必要があります通常はindex.html)を入力して、nginxがファイルを送信し、ルートがブラウザの反応するアプリケーションによって処理されるようにします。これを行うには、nginx.confまたはsites-enabledがappropiately

location/{ 
try_files $uri /index.html; 
} 

これは、それはそれがブラウザにindex.htmlを送信するものを見つけることができない場合は、指定された$uriを探すためにnginxを伝え、あなたに以下の変更を行う必要があります。

+0

それは働いた。ありがとうございました。 –

+0

私のために働いた – William

関連する問題