Inhaltsverzeichnis
Vorkenntnisse
=: Zeigt eine genaue Übereinstimmung an
Syntax: Root-Pfad
Heim Betrieb und Instandhaltung Nginx Wie löst Nginx das 404-Problem der Seitenaktualisierung im Verlaufsmodus?

Wie löst Nginx das 404-Problem der Seitenaktualisierung im Verlaufsmodus?

May 13, 2023 pm 02:40 PM
nginx history

    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; #访问这个路径对应的默认静态资源文件或者网页
              }
           }
       }
    Nach dem Login kopieren

    Speicherort

    Grammatik

       location [=|~|~*|^~|@] uri { ... } 
       location @name { ... }
    Nach dem Login kopieren

    =: 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/
          }
      Nach dem Login kopieren

      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/; 
       }
    Nach dem Login kopieren

    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!

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    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ßer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Chat -Befehle und wie man sie benutzt
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    So überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 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.

    So konfigurieren Sie Nginx in Windows So konfigurieren Sie Nginx in Windows Apr 14, 2025 pm 12:57 PM

    Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

    Wie kann ich überprüfen, ob Nginx begonnen wird? Wie kann ich überprüfen, ob Nginx begonnen wird? Apr 14, 2025 pm 12:48 PM

    Verwenden Sie unter Linux den folgenden Befehl, um zu überprüfen, ob Nginx gestartet wird: SystemCTL -Status Nginx Richter basierend auf der Befehlsausgabe: Wenn "aktiv: aktiv (lief) angezeigt wird, wird Nginx gestartet. Wenn "Active: Inactive (Dead)" angezeigt wird, wird Nginx gestoppt.

    So starten Sie Nginx unter Linux So starten Sie Nginx unter Linux Apr 14, 2025 pm 12:51 PM

    Schritte zum Starten von Nginx unter Linux: Überprüfen Sie, ob Nginx installiert ist. Verwenden Sie SystemCTL Start Nginx, um den Nginx -Dienst zu starten. Verwenden Sie SystemCTL aktivieren NGINX, um das automatische Start von NGINX beim Systemstart zu aktivieren. Verwenden Sie den SystemCTL -Status NGINX, um zu überprüfen, ob das Startup erfolgreich ist. Besuchen Sie http: // localhost in einem Webbrowser, um die Standard -Begrüßungsseite anzuzeigen.

    So starten Sie den Nginx -Server So starten Sie den Nginx -Server Apr 14, 2025 pm 12:27 PM

    Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen

    So lösen Sie Nginx403 So lösen Sie Nginx403 Apr 14, 2025 am 10:33 AM

    Wie fixiere ich Nginx 403 Verbotener Fehler? Überprüfen Sie die Datei- oder Verzeichnisberechtigungen; 2.Htaccess -Datei prüfen; 3. Überprüfen Sie die Konfigurationsdatei der Nginx; 4. Starten Sie Nginx neu. Weitere mögliche Ursachen sind Firewall -Regeln, Selinux -Einstellungen oder Anwendungsprobleme.

    So lösen Sie Nginx304 Fehler So lösen Sie Nginx304 Fehler Apr 14, 2025 pm 12:45 PM

    Antwort auf die Frage: 304 Nicht geänderter Fehler gibt an, dass der Browser die neueste Ressourcenversion der Client -Anfrage zwischengespeichert hat. Lösung: 1. Löschen Sie den Browser -Cache; 2. Deaktivieren Sie den Browser -Cache; 3. Konfigurieren Sie Nginx, um den Client -Cache zu ermöglichen. 4. Überprüfen Sie die Dateiberechtigungen; 5. Datei Hash prüfen; 6. Deaktivieren Sie CDN oder Reverse Proxy -Cache; 7. Starten Sie Nginx neu.

    So lösen Sie Nginx403 -Fehler So lösen Sie Nginx403 -Fehler Apr 14, 2025 pm 12:54 PM

    Der Server verfügt nicht über die Berechtigung, auf die angeforderte Ressource zuzugreifen, was zu einem NGINX 403 -Fehler führt. Zu den Lösungen gehören: Überprüfung der Dateiberechtigungen. Überprüfen Sie die Konfiguration .htaccess. Überprüfen Sie die Nginx -Konfiguration. Konfigurieren Sie Selinux -Berechtigungen. Überprüfen Sie die Firewall -Regeln. Fehlerbehebung bei anderen Ursachen wie Browserproblemen, Serverausfällen oder anderen möglichen Fehlern.

    See all articles