もっと詳しく

の本番ビルドを作成したら ReactJS 応用。 アプリケーション全体にサービスを提供するindex.htmlファイルを作成します。 すべてのリクエストは、最初にindex.htmlへの履歴である必要があります。その後、ReactルーターはURLのクエリに基づいてコンテンツを提供します。 メインURLでアプリケーションにアクセスすると、ヒットします index.html 正常に動作します。 ブラウザで1つのサブURLに直接アクセスする場合、Webサーバーはその名前のファイルを見つけられません。 その場合、 404 エラーメッセージがユーザーに返されます。

問題:

本番ReactJSアプリケーションのサブURLに直接アクセスすると、Webサーバーから404エラーメッセージが返されます。

解決:

簡単な解決策は、すべてのリクエストをindex.htmlファイルにルーティングすることです。 残りのReactルーターはこれを処理します。

実行中のWebサーバーに基づいてサーバー構成を更新します。

1.Nginxユーザー

Nginxユーザーは編集できます サーバーブロック (仮想ホスト)構成ファイルを作成し、次のスニペットを追加します。 これにより、すべてのリクエストがindex.htmlファイルにルーティングされます。

#Add this in Nginx server block
location / {
  ...
  try_files $uri.html $uri $uri/ /index.html;
  ...
}

ファイルを保存して、Nginxサービスを再起動します。

2.Apacheユーザー

反応アプリケーションがApacheWebサーバーでホストされている場合。 次に、を追加できます .htaccess サイトのルートにあるファイルを作成し、次のスニペットを追加します。

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]
</IfModule>

システムでApache書き換えモジュールが有効になっていることを確認してください。

結論

このチュートリアルは、ReactJS本番環境での404エラーの解決に役立ちました。

The post ページのリロードでのReactJS404エラー– TecAdmin appeared first on Gamingsym Japan.