suchen
HeimBetrieb und InstandhaltungNginxWie löst Nginx das 404-Problem der Seitenaktualisierung im Verlaufsmodus?

    Vorkenntnisse

    • Einzelseitenanwendung (SPA - Einzelseitenanwendung)
      Nur wenn die Seite zum ersten Mal geladen wird, werden nur die HTML-Seite und ihre öffentlichen statischen Ressourcen sowie nachfolgende Seitensprünge zurückgegeben Die HTML-Datei wird nicht vom Server abgerufen. (Hash- und History-Routing implementieren Browser-URL-Änderungen, ohne die Seite zu aktualisieren) Wenn sich die nachfolgenden Werte ändern, wird die Seite nicht erneut angefordert. Dies wird hauptsächlich durch die Onhashchange-Methode des Fensters erreicht.

    • History-Routing
      Im Vergleich zum Hash-Routing besteht die intuitivste Änderung darin, dass das Routing kein # enthält. Durch Aufrufen einer Reihe von Methoden für das window.history-Objekt kann die Seite ohne Aktualisierung umgeleitet werden (pushState, replaceState). ).

    • Da sich im Verlaufsmodus die URL geändert hat und Sie die Seite zu diesem Zeitpunkt manuell aktualisieren, denkt der Browser, dass er eine neue Seite anfordert (initiiert eine neue HTTP-Anfrage), und die neue Seite existiert nicht (die Backend ist nicht konfiguriert) ), was zu 404 führt.

      Beschreiben wir zunächst kurz, was nach der Eingabe der IP-Adresse oder des Domänennamens im Browser passiert (es fühlt sich ein bisschen wie eine Interviewfrage an????) Nach dem Drücken der Eingabetaste fordert der Browser den HTML-Code an Nach einer Reihe von Weiterleitungs- und Adressierungsauflösungen wird sie von Port 80 (Standard) auf dem Server empfangen, auf dem sich die Ziel-IP befindet. Zu diesem Zeitpunkt tritt das Problem auf, nachdem die 80-Schnittstelle des Servers die HTTP-Anfrage empfangen hat. Es weiß nicht, was zurückgegeben werden soll. Zu diesem Zeitpunkt benötigen Sie
    • Nginx, um einen statischen Ressourcen-Proxy auszuführen und dem Server mitzuteilen, welche statischen Dateien zurückgegeben werden sollen.

    Nginx

    Für die allgemeine Projektbereitstellung müssen wir die nginx.conf-Konfiguration verarbeiten Datei Was Sie über diese Datei wissen müssen, ist Folgendes:

       ....
       # http 是指令块,针对http网络传输的一些指令配置
       http {
           #文件扩展名与文件类型映射表 
           include mime.types;
           #设置客户端与服务端请求的超时时间
           keepalive_timeout  65;
           # 开启压缩功能,目的:提高传输效率,节省带宽 
           gzip on
           server {
              #监听端口
              listen   80;
              #服务命名,最好就是用这个服务器的域名命名
              server_name localhost;
              #指令块,配置外部访问资源和实际资源的对应关系
              location /{
                  root /usr/blog; #表示静态资源所在的目录
                  index  index.html index.htm; #访问这个路径对应的默认静态资源文件或者网页
              }
           }
       }

    Speicherort

    Grammatik

       location [=|~|~*|^~|@] uri { ... } 
       location @name { ... }

    =: Zeigt eine genaue Übereinstimmung an

      ~: Zeigt eine reguläre Übereinstimmung an, bei der die Groß-/Kleinschreibung beachtet wird
    • ~* : Zeigt eine reguläre Übereinstimmung ohne Berücksichtigung der Groß- und Kleinschreibung an
    • ^~: Zeigt an, dass der URI mit einer bestimmten regulären Zeichenfolge beginnt mit
    • !~: Zeigt eine Nichtübereinstimmung mit regulären Ausdrücken ohne Berücksichtigung der Groß-/Kleinschreibung an
    • !~*: Zeigt an Nichtübereinstimmung regulärer Ausdrücke ohne Beachtung der Groß- und Kleinschreibung
    • /: Universelle Übereinstimmung, jede Anfrage wird abgeglichen
    • Gemeinsame Übereinstimmungsregeln
    •    # 将所有请求直接转发给服务器的9090端口
          location = / {
            proxy_pass http://127.0.0.1:9090/;
          }
          # 目录匹配 
          location ^~ /static/ { 
              root /webroot/static/;
          } 
          # 后缀匹配 
          location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ { 
              root /webroot/res/; 
          }
          # 将/account/开始的请求转发给Account服务器
          location /account/ {
              proxy_pass http://127.0.0.1:8080/
          }
          # 将/order/开始的请求转发给Order服务器
          location /order/ {
              proxy_pass http://127.0.0.1:9090/
          }

      root und alias

    • Der Unterschied zwischen ihnen besteht darin, wie Nginx die URL nach dem Standort interpretiert

    [root]

    Syntax: Root-Pfad

    Standardwert: Root-HTML

    Konfigurationsabschnitt: http, Server, Standort, wenn

    Verarbeitungsergebnis: Root-Pfad + Standortpfad



    [Alias]
    Syntax: Alias-Pfad
    Konfigurationsabschnitt: Standort

    Verarbeitungsergebnis: Verwenden Sie den Alias-Pfad, um den Standortpfad zu ersetzen
       # 返回/www/root/html/t/a.html的文件
       location ^~ /t/ { 
           root /www/root/html/;
       } 
       # 返回/www/root/html/new_t/a.html的文件 
       # 把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。 
       location ^~ /t/ { 
           alias /www/root/html/new_t/; 
       }

    Lösen Sie das Problem von 404 nach der Aktualisierung

    Aus den oben genannten Erkenntnissen können wir wissen, dass der Browser nach der Aktualisierung die HTML-Datei gemäß der aktuellen URL anfordert. Aber SPA hat nur eine HTML-Datei, daher müssen Sie eine Codezeile am entsprechenden Speicherort von nginx.conf konfigurieren.
    Teilen Sie Nginx mit, ob die Dateien der Reihe nach überprüft werden. Ob sie vorhanden sind. Wenn nicht, leiten Sie zur Datei index.html weiter.

    Das obige ist der detaillierte Inhalt vonWie löst Nginx das 404-Problem der Seitenaktualisierung im Verlaufsmodus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme
    Dieser Artikel ist reproduziert unter:亿速云. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
    Nginx vs. Apache: Leistung, Skalierbarkeit und EffizienzNginx vs. Apache: Leistung, Skalierbarkeit und EffizienzApr 19, 2025 am 12:05 AM

    Nginx und Apache sind beide leistungsstarke Webserver mit einzigartigen Vor- und Nachteilen in Bezug auf Leistung, Skalierbarkeit und Effizienz. 1) Nginx funktioniert bei der Behandlung statischer Inhalte und dem Umkehren von Proxen, geeignet für hohe Parallelitätsszenarien. 2) Apache funktioniert bei der Verarbeitung dynamischer Inhalte besser und eignet sich für Projekte, für die ein reichhaltiges Modulunterstützung erforderlich ist. Die Auswahl eines Servers sollte basierend auf Projektanforderungen und Szenarien ermittelt werden.

    Der ultimative Showdown: Nginx vs. ApacheDer ultimative Showdown: Nginx vs. ApacheApr 18, 2025 am 12:02 AM

    Nginx eignet sich zum Umgang mit hohen gleichzeitigen Anforderungen, während Apache für Szenarien geeignet ist, in denen komplexe Konfigurationen und funktionale Erweiterungen erforderlich sind. 1.Nginx nimmt eine ereignisorientierte, nicht blockierende Architektur an und eignet sich für Umgebungen mit hoher Konsequenz. 2. Apache übernimmt Prozess- oder Threadmodell, um ein reiches Modul -Ökosystem bereitzustellen, das für komplexe Konfigurationsanforderungen geeignet ist.

    Nginx in Aktion: Beispiele und reale AnwendungenNginx in Aktion: Beispiele und reale AnwendungenApr 17, 2025 am 12:18 AM

    NGINX kann verwendet werden, um die Leistung, Sicherheit und Skalierbarkeit der Website zu verbessern. 1) Als Reverse Proxy und Load Balancer kann Nginx Back-End-Dienste optimieren und den Verkehr teilen. 2) Durch ereignisgesteuerte und asynchrone Architektur verarbeitet Nginx effizient hohe gleichzeitige Verbindungen. 3) Konfigurationsdateien ermöglichen eine flexible Definition von Regeln wie statischer Dateiservice und Ladeausgleich. 4) Optimierungsvorschläge umfassen die Aktivierung der GZIP -Komprimierung, die Verwendung von Cache und das Einstellen des Arbeitsprozesses.

    Nginx -Einheit: Unterstützung verschiedener ProgrammiersprachenNginx -Einheit: Unterstützung verschiedener ProgrammiersprachenApr 16, 2025 am 12:15 AM

    NginxUnit unterstützt mehrere Programmiersprachen und wird durch modulares Design implementiert. 1. Ladesprachmodul: Laden Sie das entsprechende Modul gemäß der Konfigurationsdatei. 2. Anwendungsstart: Führen Sie den Anwendungscode aus, wenn die aufrufende Sprache ausgeführt wird. 3. Anforderungsverarbeitung: Leiten Sie die Anfrage an die Anwendungsinstanz weiter. 4. Antwortrückgabe: Gibt die verarbeitete Antwort an den Client zurück.

    Wählen Sie zwischen Nginx und Apache: Die richtige Passform für Ihre AnforderungenWählen Sie zwischen Nginx und Apache: Die richtige Passform für Ihre AnforderungenApr 15, 2025 am 12:04 AM

    Nginx und Apache haben ihre eigenen Vor- und Nachteile und eignen sich für verschiedene Szenarien. 1.Nginx ist für hohe Parallelitäts- und geringe Ressourcenverbrauchsszenarien geeignet. 2. Apache eignet sich für Szenarien, in denen komplexe Konfigurationen und reichhaltige Module erforderlich sind. Durch den Vergleich ihrer Kernfunktionen, Leistungsunterschiede und Best Practices können Sie die Serversoftware auswählen, die Ihren Anforderungen am besten entspricht.

    So starten Sie NginxSo starten Sie NginxApr 14, 2025 pm 01:06 PM

    Frage: Wie starte ich Nginx? Antwort: Installieren Sie Nginx Startup Nginx -Verifizierung Nginx Is Nginx Start Erkunden

    So überprüfen Sie, ob Nginx gestartet wirdSo überprüfen Sie, ob Nginx gestartet wirdApr 14, 2025 pm 01:03 PM

    So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

    Wie man nginx schließtWie man nginx schließtApr 14, 2025 pm 01:00 PM

    To shut down the Nginx service, follow these steps: Determine the installation type: Red Hat/CentOS (systemctl status nginx) or Debian/Ubuntu (service nginx status) Stop the service: Red Hat/CentOS (systemctl stop nginx) or Debian/Ubuntu (service nginx stop) Disable automatic startup (optional): Red Hat/CentOS (systemctl disabled nginx) or Debian/Ubuntu (syst

    See all articles

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heiße Werkzeuge

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    mPDF

    mPDF

    mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

    EditPlus chinesische Crack-Version

    EditPlus chinesische Crack-Version

    Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools