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

So schreiben Sie schönen HTML-Code

So sieht schöner HTML-Code aus. So schreiben Sie ...

VMware ESXi 5.5 Bereitstellungs- und Konfigurationsdiagrammprozess

Inhaltsverzeichnis 1. Installationsvoraussetzunge...

Durch das flexible Layout können Unterelemente ihre eigene Höhe beibehalten

Beim Verwenden des Flex-Layouts werden Sie festst...

JavaScript verwendet Promise zur Verarbeitung mehrerer wiederholter Anfragen

1. Warum diesen Artikel schreiben? Sie haben sich...

43 Webdesign-Fehler, auf die Webdesigner achten sollten

Dies ist ein Artikel über die Benutzerfreundlichk...

Detaillierte Anwendungsfälle von MySql Escape

MySQL-Escape Escape bedeutet die ursprüngliche Se...

Detaillierte Schritte zum Konfigurieren von my.ini für mysql5.7 und höher

Im entpackten Paket von Windows 64-Bit MySQL 5.7 ...

So stellen Sie nginx mit Docker bereit und ändern die Konfigurationsdatei

Nginx mit Docker bereitstellen, so einfach ist da...

Detaillierte Erläuterung des Zeitdarstellungsbeispiels des Linux-Zeitsubsystems

Vorwort Um zum Originalcode kompatibel zu sein, b...

Der eigentliche Prozess der Einbindung von Axios in das Projekt

Inhaltsverzeichnis Vorwort Vorteile der Axios-Kap...