ホームページ 運用・保守 Nginx Nginx 404エラーの解決方法

Nginx 404エラーの解決方法

May 17, 2023 pm 06:23 PM
nginx

最近、図に示すように、プロジェクトのデプロイ時にいくつかの問題が発生しました。

Nginx 404エラーの解決方法

通常のログイン インターフェイスにはアクセスできますが、ログイン後、アクセス後のアドレスが表示されます。 404 エラーが報告されるため、設定エラーがないか確認しましたが、確認したところ、2 つの設定ファイル nginx.confconfig.js# の IP とポートが間違っていることがわかりました。 ## は正しかったです

このプロジェクトは何度もデプロイされていますが、そのようなエラーは発生していません。

これは、

nginx.conf のオリジナルの解凍されたソース ファイルです。

Nginx 404エラーの解決方法

丸で囲まれた場所は、対応するプロジェクト構成に従っている必要があります。

ip とリスニング ポート

listen ポートに対応し、server_name は Accessedip に対応します

#しかし、これでは問題は解決しません。次の文を追加する必要があります。

try_files $uri $uri/ /index.html;

追加された場所はここであるはずです

Nginx 404エラーの解決方法#これを

server

location セクションに追加し、restart nginx次のディレクトリに追加します。

nginx.exe

があるので、アドレス バーをクリックして cmd と入力します。cmd を開いてジャンプすることなく、ディレクトリ内で直接コマンド ラインを開始できます。 #これまでに nginx サービスを閉じていない場合は、まずサービスを停止してから開きます。閉じている場合は、コマンドを直接入力してサービスを開始できます

nginx サービス コマンドの停止:

nginx -s stop
nginx サービス コマンドの開始:

start nginx
ホット デプロイメント nigx サービス コマンド:

(ただし、このコマンドの使用はお勧めしません。時々このコマンドが機能しないことがあります。停止して直接起動することをお勧めします)

nginx -s reload
nginx を再起動した後ブラウザのキャッシュをクリアするのが最善です

もう一度テストしてください

Ctrl Shift Del

を直接押してください。ブラウザ ウィンドウでキャッシュ クリア ダイアログ ボックスを直接開きます。

再テストすると、通常どおりアクセスできます。

補足: Nginx のデプロイ後、通常のクリックでは問題ありません。ページを更新すると 404 問題が発生します。

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerによってコンテナを起動する方法 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コンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Docker用のコンテナを作成する方法 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を選択する:あなたのニーズに合った適切 nginxとapacheを選択する:あなたのニーズに合った適切 Apr 15, 2025 am 12:04 AM

NginxとApacheには独自の利点と短所があり、さまざまなシナリオに適しています。 1.Nginxは、高い並行性と低リソース消費シナリオに適しています。 2。Apacheは、複雑な構成とリッチモジュールが必要なシナリオに適しています。コア機能、パフォーマンスの違い、ベストプラクティスを比較することで、ニーズに最適なサーバーソフトウェアを選択するのに役立ちます。

Nginx vs. Apache:パフォーマンス、スケーラビリティ、効率 Nginx vs. Apache:パフォーマンス、スケーラビリティ、効率 Apr 19, 2025 am 12:05 AM

NginxとApacheはどちらも強力なWebサーバーであり、それぞれがパフォーマンス、スケーラビリティ、効率の点で独自の利点と短所を備えています。 1)nginxは、静的なコンテンツを処理し、逆プロキシを逆にするときにうまく機能します。 2)Apacheは、動的コンテンツを処理するときにパフォーマンスが向上し、リッチモジュールサポートが必要なプロジェクトに適しています。サーバーの選択は、プロジェクトの要件とシナリオに基づいて決定する必要があります。

Nginx vs. Apache:Webサーバーの比較分析 Nginx vs. Apache:Webサーバーの比較分析 Apr 21, 2025 am 12:08 AM

NGINXは、高い並行接続の処理に適していますが、Apacheは複雑な構成とモジュール拡張が必要な​​シナリオにより適しています。 1.Nginxは、高性能と低リソース消費で知られており、高い並行性に適しています。 2. Apacheは、その安定性とリッチモジュール拡張機能で知られています。これは、複雑な構成ニーズに適しています。

NginxとApache:重要な違​​いを理解する NginxとApache:重要な違​​いを理解する Apr 26, 2025 am 12:01 AM

NginxとApacheにはそれぞれ独自の利点と欠点があり、選択は特定のニーズに基づいている必要があります。 1.Nginxは、非同期の非ブロッキングアーキテクチャのため、高い並行性シナリオに適しています。 2。Apacheは、モジュラー設計のため、複雑な構成を必要とする低変動シナリオに適しています。

PHPコードを作成した後にPHPコードを実行する方法は? PHPコードを実行するいくつかの一般的な方法 PHPコードを作成した後にPHPコードを実行する方法は? PHPコードを実行するいくつかの一般的な方法 May 23, 2025 pm 08:33 PM

PHPコードはさまざまな方法で実行できます。1。コマンドラインを使用して「PHPファイル名」を直接入力してスクリプトを実行します。 2.ファイルをDocument Root Directoryに入れ、Webサーバーを介してブラウザを介してアクセスします。 3. IDEで実行し、組み込みのデバッグツールを使用します。 4.テストには、オンラインPHPサンドボックスまたはコード実行プラットフォームを使用します。

See all articles