So verwenden Sie reguläre Ausdrücke, um Platzhalterdomänennamen in Nginx automatisch abzugleichen

So verwenden Sie reguläre Ausdrücke, um Platzhalterdomänennamen in Nginx automatisch abzugleichen

Nginx verwendet reguläre Ausdrücke, um Platzhalter-Domänennamen automatisch Verzeichnissen zuzuordnen

Mit Nginx können Sie die Funktion eines virtuellen Hosts realisieren und mehrere URLs binden.
Normalerweise ist der primäre Domänenname in der Konfiguration fest codiert. Wenn Sie also eine Übereinstimmung hinzufügen möchten, müssen Sie diese manuell hinzufügen.

Grundlegendes Schreiben

Die einfachste Schreibweise ist server{
hören Sie 80;
Servername www.a.com;
Wurzel /html/a;
…
}

Server{
hören Sie 80;
Servername www.b.com;
Wurzel /html/b;
…
}

Regulärer Ausdruck

Nachdem der Domänenname gebunden ist, wird er automatisch dem entsprechenden Verzeichnis zugeordnet, und es ist nicht erforderlich, für jeden Domänennamen einzeln Konfigurationen zu schreiben.
Das entsprechende Verzeichnis lautet: html/Domänenname/sekundärer Domänenname. Beispielsweise entspricht www.baidu.com dem Verzeichnis baidu.com/www.

Server {
 hören Sie 80;
 # $subdomain entspricht dem Domänennamen der zweiten Ebene und darüber. # $domain entspricht dem Domänennamen der ersten Ebene. # $tld entspricht dem Stammknotennamen Servername. ~^((?<subdomain>.*)\.)?(?<domain>[^.]+)\.(?<tld>[a-zA-Z]+)$;

 #Wenn keine $subdomain vorhanden ist, springen Sie zu www
 wenn ($subdomain = "") {
  # $subdomain "_" festlegen;
  setze $subdomain "www";
  gibt 301 $scheme://www.$domain.$tld$request_uri zurück;
 }

 root /usr/share/nginx/html/${domain}.${tld}/${subdomain};
}

andere

Es gibt viele Artikel zur Matching-Reihenfolge von Nginx, deshalb werde ich nicht ins Detail gehen.
Da reguläre Ausdrücke die niedrigste Übereinstimmungspriorität haben, wird mit ihnen nur dann eine Übereinstimmung gefunden, wenn keine anderen Übereinstimmungen gefunden werden. Sie müssen sich also keine Sorgen machen, dass andere exakte Übereinstimmungen dadurch beeinträchtigt werden.

Die meisten Leute haben nicht so viele Domänennamen, die abgeglichen werden müssen. Stattdessen möchten sie einige bösartige Domänennamenzeiger blockieren.

Um beim Testen jedoch die laufende Webseite nicht zu beeinträchtigen, können Sie in den Hosts einen IP-Domänennamen-Datensatz hinzufügen und zum Testen einen nicht vorhandenen Domänennamen verwenden, was zu diesem Zeitpunkt nützlicher ist.

Zusammenfassen

Dies ist das Ende dieses Artikels darüber, wie nginx reguläre Ausdrücke verwendet, um Platzhalter-Domänennamen automatisch Verzeichnissen zuzuordnen. Weitere Informationen dazu, wie nginx reguläre Ausdrücke verwendet, um Platzhalter-Domänennamen Verzeichnissen zuzuordnen, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Nginx if-Anweisung plus regulärer Ausdruck, um eine Zeichenfolgenkürzung zu erreichen
  • Detaillierte Erklärung der regulären Ausdrücke von Nginx
  • Detaillierte Erläuterung des regulären Ausdrucksbeispiels für die Nginx-Standortkonfiguration
  • Nginx pseudostatisch Rewrite regelmäßige Ressourcenübersicht
  • Beispiel für die reguläre Umschreibmethode für Nginx Rewrite (Matching)
  • nginx Konfigurationsort Zusammenfassungsort Regelmäßiges Schreiben und Umschreiben von Regeln
  • Regelmäßige Python-Analyse des Nginx-Zugriffsprotokolls
  • So verwenden Sie nginx, um bestimmte URL-Anfragen durch reguläre Ausdrücke abzufangen
  • Einführung in die Parameter und Regeln für reguläre Ausdrücke bei Nginx

<<:  MySQL-Optimierungstipps: Analyse der Implementierungsmethoden zur Duplikatsentfernung [Millionen von Daten]

>>:  JS implementiert Städtelisteneffekt basierend auf VUE-Komponente

Artikel empfehlen

So zeigen Sie im img-Tag in HTML nur die Bildmitte an (drei Methoden)

Derzeit gibt es drei Möglichkeiten, die Mitte ein...

Drei Möglichkeiten zum Implementieren eines Textfarbverlaufs in CSS

Bei der Entwicklung von Web-Frontends entwerfen U...

HTML Einführungstutorial HTML Tag Symbole schnell beherrschen

Randbemerkung <br />Wenn Sie nichts über HTM...

jQuery-Plugin zum Erreichen einer Bildunterbrechung

In diesem Artikel wird der spezifische Code des j...

Details zu MySQL-Zeittypen und -Modi

Inhaltsverzeichnis 1. MySQL-Zeittyp 2. Überprüfen...

Ubuntu 18.04 Touchpad per Befehl deaktivieren/aktivieren

Unter Ubuntu kommt es häufig vor, dass sich das T...

Informationen zur Layoutmethode für Inhaltsüberlauf in Tabellen

Was ist Inhaltsüberlauf? Wenn tatsächlich viel Te...

Linux-Installation Apache-Server-Konfigurationsprozess

Bereiten Sie die Taschen vor Installieren Überprü...

So erstellen Sie einen NFS-Dienst in Ubuntu 16.04

Einführung in NFS NFS (Network File System) ist e...

SQL-Implementierung von LeetCode (177. N-höchstes Gehalt)

[LeetCode] 177.N-höchstes Gehalt Schreiben Sie ei...

WeChat-Applet-Beispiel für die direkte Verwendung von Funktionen in {{ }}

Vorwort Bei der WeChat-Applet-Entwicklung (native...