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

Ubuntu-Grundlagen-Tutorial: apt-get-Befehl

Vorwort Der Befehl apt-get ist ein Paketverwaltun...

Zusammenfassung der Zeilenumbruchprobleme bei Textbereichen in HTML

Kürzlich stieß ich auf das Problem, ob die Daten b...

Vier Möglichkeiten zum Erstellen von Objekten in JS

Inhaltsverzeichnis 1. Objekte durch Literalwert e...

CUDA8.0 und CUDA9.0 koexistieren unter Ubuntu16.04

Vorwort Einige der früheren Codes auf Github erfo...

Gedanken zu copy_{to, from}_user() im Linux-Kernel

Inhaltsverzeichnis 1. Was ist copy_{to,from}_user...

So aktualisieren Sie v-for in Vue

Tipps: Die Methode zur Array-Änderung führt zur A...

Detaillierte Erklärung der Meta-Tags (die Rolle der Meta-Tags)

Egal wie großartig Ihre persönliche Website ist, ...

Neue Blockbereichsfunktion von JavaScript ES

Inhaltsverzeichnis 1. Was ist Blockbereich? 2. Wa...

Befehl zum Entfernen (Löschen) eines symbolischen Links in Linux

Möglicherweise müssen Sie in Linux manchmal symbo...