Nginx 404エラーの解決方法
最近、図に示すように、プロジェクトのデプロイ時にいくつかの問題が発生しました。

通常のログイン インターフェイスにはアクセスできますが、ログイン後、アクセス後のアドレスが表示されます。 404 エラーが報告されるため、設定エラーがないか確認しましたが、確認したところ、2 つの設定ファイル nginx.conf と config.js# の IP とポートが間違っていることがわかりました。 ## は正しかったです
このプロジェクトは何度もデプロイされていますが、そのようなエラーは発生していません。 これは、nginx.conf のオリジナルの解凍されたソース ファイルです。

ip とリスニング ポート
listen は ポートに対応し、server_name は Accessedip に対応します
#しかし、これでは問題は解決しません。次の文を追加する必要があります。
try_files $uri $uri/ /index.html;追加された場所はここであるはずです
#これを
の location セクションに追加し、restart nginx次のディレクトリに追加します。
nginx.exeがあるので、アドレス バーをクリックして cmd と入力します。cmd を開いてジャンプすることなく、ディレクトリ内で直接コマンド ラインを開始できます。 #これまでに nginx サービスを閉じていない場合は、まずサービスを停止してから開きます。閉じている場合は、コマンドを直接入力してサービスを開始できます
nginx サービス コマンドの停止:
nginx -s stopnginx サービス コマンドの開始:
start nginxホット デプロイメント nigx サービス コマンド:
(ただし、このコマンドの使用はお勧めしません。時々このコマンドが機能しないことがあります。停止して直接起動することをお勧めします)
nginx -s reloadnginx を再起動した後ブラウザのキャッシュをクリアするのが最善ですもう一度テストしてください
Ctrl Shift Del
を直接押してください。ブラウザ ウィンドウでキャッシュ クリア ダイアログ ボックスを直接開きます。
再テストすると、通常どおりアクセスできます。
補足: Nginx のデプロイ後、通常のクリックでは問題ありません。ページを更新すると 404 問題が発生します。
プロジェクトをサーバーにデプロイした後は、ルート パス (http:10.10.10.10) へのアクセスには問題ありませんが、
http:10.10.10.10/test /test/test など、他の関数を入力してページを更新すると、404 が表示されます。ページを更新すると、nginx にリダイレクト ジャンプを追加していないため、404 が表示されます。構成。 解決策として、次の構成を追加するだけです:
try_files $uri $uri/ /index.html;
server {
listen 80;
server_name 127.0.0.1;
location / {
root /data/htdocs/FactoryModel/micro-front-end/industrial-internet-platform-main-vue;
index index.php index.html index.htm;
# add_header Cache-Control;
add_header Access-Control-Allow-Origin *;
if ( $request_uri ~* ^.+.(js|css|jpg|png|gif|tif|dpg|jpeg|eot|svg|ttf|woff|json|mp4|rmvb|rm|wmv|avi|3gp)$ ){
add_header Cache-Control max-age=7776000;
add_header Access-Control-Allow-Origin *;
}
try_files $uri $uri/ /index.html;
}
}
この構成は、対応する静的リソースが見つからない場合にすべての一致を意味しますURL パスで、変調して、index.html ファイルにジャンプします。
示されているように、ここに追加できます。
次の内容では、ルーター ルーティングの動作原理とその原理を少し理解する必要があります。 nginx の
これが発生する理由の分析 (履歴モードでのルーティングの場合):
最初に質問してください:
1. を更新するときにこの問題が発生するのはなぜですかページ (設定なし、ホームページのルート ディレクトリの更新ではありません)2. クリックしてジャンプすると (時々) 問題が発生するのはなぜですか
次に、問題を解決しましょう:1ブラウザ上の URL が 172.1.2.3:7000/test であると仮定します。ページを更新すると、ブラウザ上の URL に従って、対応する静的リソースがサーバー (nginx) に要求されます。nginx は、対応する静的リソースを見つけられませんでした。場所/ファイル「test」の一致ルールに従って、dist フォルダー内の静的リソースが返されるため、404 が返されますが、これは妥当です。
この時点で、index.html ファイルにリダイレクトして戻るように try_files を設定します。つまり、ホームページ「/」に戻ります。この時点でページが更新されていることに注意してください。 vue-router は routing. 動作すると、現在の URL アドレスに基づいてコンポーネントが照合されるので、この時点で URL が対応するコンポーネントとなり、ページがリロードされて完了です。
2. 2 番目の質問は、クリックしてジャンプする場合とそうでない場合があるのはなぜですか? ジャンプには 2 つの状況があることを知っておく必要があります: 1 つはページの更新 (最初の質問に属する)、もう 1 つはページの更新です。ジャンプではなくリフレッシュしてください。これはコードの記述方法によって異なります。覚えておいてください:
1. プッシュではページは更新されませんが、react-router であっても vue であっても、ブラウザー上の URL ルーティングの変更のみが変更されます。 -router。これらはすべて、pushState() という HTML API を使用して実装されています。2. 渡すと、タグに相当するページが更新されます。
ブラウザで試すことができます。自分自身そのため、クリックしてジャンプするときに、コードでプッシュ (更新ではなく) が使用されることもあれば、タグまたはリンク (更新) が使用されることもあり、この問題が発生します。
以上がNginx 404エラーの解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
ホットAIツール
Undress AI Tool
脱衣画像を無料で
Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ
AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。
Clothoff.io
AI衣類リムーバー
Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。
人気の記事
ホットツール
メモ帳++7.3.1
使いやすく無料のコードエディター
SublimeText3 中国語版
中国語版、とても使いやすい
ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
ドリームウィーバー CS6
ビジュアル Web 開発ツール
SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
ホットトピック
8646
17
1787
16
1730
56
1582
29
1451
31
Dockerによってコンテナを起動する方法
Apr 15, 2025 pm 12:27 PM
Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。
Dockerコンテナの名前を確認する方法
Apr 15, 2025 pm 12:21 PM
すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。
Docker用のコンテナを作成する方法
Apr 15, 2025 pm 12:18 PM
Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]
nginxとapacheを選択する:あなたのニーズに合った適切
Apr 15, 2025 am 12:04 AM
NginxとApacheには独自の利点と短所があり、さまざまなシナリオに適しています。 1.Nginxは、高い並行性と低リソース消費シナリオに適しています。 2。Apacheは、複雑な構成とリッチモジュールが必要なシナリオに適しています。コア機能、パフォーマンスの違い、ベストプラクティスを比較することで、ニーズに最適なサーバーソフトウェアを選択するのに役立ちます。
Nginx vs. Apache:パフォーマンス、スケーラビリティ、効率
Apr 19, 2025 am 12:05 AM
NginxとApacheはどちらも強力なWebサーバーであり、それぞれがパフォーマンス、スケーラビリティ、効率の点で独自の利点と短所を備えています。 1)nginxは、静的なコンテンツを処理し、逆プロキシを逆にするときにうまく機能します。 2)Apacheは、動的コンテンツを処理するときにパフォーマンスが向上し、リッチモジュールサポートが必要なプロジェクトに適しています。サーバーの選択は、プロジェクトの要件とシナリオに基づいて決定する必要があります。
Nginx vs. Apache:Webサーバーの比較分析
Apr 21, 2025 am 12:08 AM
NGINXは、高い並行接続の処理に適していますが、Apacheは複雑な構成とモジュール拡張が必要なシナリオにより適しています。 1.Nginxは、高性能と低リソース消費で知られており、高い並行性に適しています。 2. Apacheは、その安定性とリッチモジュール拡張機能で知られています。これは、複雑な構成ニーズに適しています。
NginxとApache:重要な違いを理解する
Apr 26, 2025 am 12:01 AM
NginxとApacheにはそれぞれ独自の利点と欠点があり、選択は特定のニーズに基づいている必要があります。 1.Nginxは、非同期の非ブロッキングアーキテクチャのため、高い並行性シナリオに適しています。 2。Apacheは、モジュラー設計のため、複雑な構成を必要とする低変動シナリオに適しています。
PHPコードを作成した後にPHPコードを実行する方法は? PHPコードを実行するいくつかの一般的な方法
May 23, 2025 pm 08:33 PM
PHPコードはさまざまな方法で実行できます。1。コマンドラインを使用して「PHPファイル名」を直接入力してスクリプトを実行します。 2.ファイルをDocument Root Directoryに入れ、Webサーバーを介してブラウザを介してアクセスします。 3. IDEで実行し、組み込みのデバッグツールを使用します。 4.テストには、オンラインPHPサンドボックスまたはコード実行プラットフォームを使用します。


