


Wie 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; #访问这个路径对应的默认静态资源文件或者网页 } } }
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
# 将所有请求直接转发给服务器的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 kopierenroot und alias
Der Unterschied zwischen ihnen besteht darin, wie Nginx die URL nach dem Standort interpretiert
Syntax: Root-Pfad
Standardwert: Root-HTMLKonfigurationsabschnitt: http, Server, Standort, wenn
Verarbeitungsergebnis: Root-Pfad + StandortpfadVerarbeitungsergebnis: Verwenden Sie den Alias-Pfad, um den Standortpfad zu ersetzen
[Alias]
Syntax: Alias-Pfad
Konfigurationsabschnitt: Standort
# 返回/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 kopierenLö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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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 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.

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.

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.

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

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.

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.

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.
