So implementieren Sie eine verschachtelte if-Methode in Nginx

So implementieren Sie eine verschachtelte if-Methode in Nginx

Nginx unterstützt weder verschachtelte if-Anweisungen noch erlaubt es logische Urteile in if-Anweisungen. Der folgende Fehler wird gemeldet:

nginx: [emerg] „if“-Direktive ist nicht zulässig

Wenn das Geschäft mehrere Zustandsbeurteilungen erfordert, kann dies mit Hilfe von Zwischenvariablen umgesetzt werden.

Beispielsweise verfügt unsere Website auf der PC-Seite über mehrere Subdomains, auf der mobilen Seite jedoch nur über einen Domänennamen. Die entsprechende Beziehung ist wie folgt:

  • www.test.com --> m.test.com
  • sub1.test.com --> m.test.com/sub1
  • sub2.test.com --> m.test.com/sub2
  • sub3.test.com --> m.test.com/sub3

Der zu erzielende Effekt: Wenn Sie auf dem mobilen Endgerät auf den PC-Domänennamen zugreifen, springen Sie mit 301 zum entsprechenden Domänennamen des mobilen Endgeräts

Die Umschreiberegeln für nginx lauten wie folgt:

# Ist es ein mobiles Terminal? setze $mobile 0;
wenn ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
  setze $mobile 1;
}

# Holen Sie sich den Subdomänensatz $prefix 1;
wenn ($host ~* "sub1.test.com") {
  Setze $prefix 2;
}
wenn ($host ~* "sub2.test.com") {
  Setze $prefix 3;
}
wenn ($host ~* "sub3.test.com") {
  Setze $prefix 4;
}
setze $sign "${mobile}${prefix}";
wenn ($sign = 11) {
  umschreiben ^(.*) http://m.test.com$1 permanent;
}
wenn ($sign = 12) {
  umschreiben ^(.*) http://m.test.com/sub1$1 permanent;
}
wenn ($sign = 13) {
  umschreiben ^(.*) http://m.test.com/sub2$1 permanent;
}
wenn ($sign = 14) {
  umschreiben ^(.*) http://m.test.com/sub3$1 permanent;
}

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Lösung für „Keine Eingabedatei angegeben“ in nginx+php
  • Detaillierte Erläuterung der Beurteilungsbedingungen und der Beurteilung mehrerer Bedingungen von if-Anweisungen in Nginx
  • Nginx implementiert, wenn ein Beispiel für eine Konfigurationsmethode mit mehreren Urteilen vorliegt
  • Implementierung einer mathematischen Vergleichsfunktion in einer IF-Anweisung in Nginx
  • Beispiele für die Verwendung von IF-, AND- und OR-Anweisungen in Nginx
  • Nginx if-Anweisung plus regulärer Ausdruck, um eine Zeichenfolgenkürzung zu erreichen

<<:  MySQL 5.7.18 Green Edition Download- und Installations-Tutorial

>>:  JavaScript zum Erreichen eines vollständigen oder umgekehrten Auswahleffekts im Formular

Artikel empfehlen

Tutorial zur Installation der PyTorch-Entwicklungsumgebung unter Windows

Anaconda-Installation Anaconda ist ein Softwarepa...

Detaillierte Erklärung der MySQL-Gruppensortierung, um die Top N zu finden

MySQL-Gruppensortierung, um die obersten N zu fin...

Grafisches Tutorial zur kostenlosen Installationsversion von MySQL 5.7.21 winx64

Konfigurationsmethode für die kostenlose Installa...

10 tödliche semantische Fehler in der Webtypografie

<br />Dies stammt aus dem Inhalt von „Web Fr...

Analysieren Sie die Prinzipien und Methoden der MySQL-Replikation und -Optimierung

1. Einleitung MySQL verfügt über eine Replikation...

So verwenden Sie webSocket zum Aktualisieren des Echtzeitwetters in Vue

Inhaltsverzeichnis Vorwort Informationen zu WebSo...

Einige Erfahrungen zum Aktivieren von HTTPS

Da sich die heimische Netzwerkumgebung immer weit...

Natives JS zum Erzielen eines Puzzle-Effekts

In diesem Artikel wird der spezifische Code von n...

Eine kurze Analyse zum besten Umgang mit vergessenen MySQL 8-Passwörtern

Vorwort Leser, die mit MySQL vertraut sind, werde...

Das Frontend erstellt und ändert CAD-Grafikdetails über JavaScript

Inhaltsverzeichnis 1. Aktuelle Situation 2. CAD-G...

So behandeln Sie den vom Linux-System gemeldeten Fehler tcp_mark_head_lost

Problembeschreibung Kürzlich meldete ein Host die...