So konfigurieren Sie Nginx, um zwischen dem PC- oder Mobiltelefonzugriff auf verschiedene Domänennamen zu unterscheiden

So konfigurieren Sie Nginx, um zwischen dem PC- oder Mobiltelefonzugriff auf verschiedene Domänennamen zu unterscheiden

Die neue offizielle Website ist online, aber die Erfahrung beim Zugriff auf die neue offizielle Website auf einem Mobiltelefon ist sehr schlecht. Beim Zugriff auf die neue offizielle Website auf einem Mobiltelefon muss auf die alte offizielle Website zugegriffen werden. Ein automatischer Sprung kann durch Ändern der Nginx-Konfiguration erreicht werden.

Fügen Sie zunächst der Nginx-Konfigurationsdatei der neuen offiziellen Website ein Sprungurteil hinzu und bestimmen Sie mithilfe des Benutzeragenten, ob die Quelle ein mobiles Terminal oder ein PC-Terminal ist:

Server {
  hören Sie 80;
  Servername www.7d.com 7d.com; // Neufassung des Domänennamens der neuen offiziellen Website .* https://$host$request_uri last;
}

Server {
  hören Sie 443 SSL;
  Servername www.7d.com 7d.com; // Neuer offizieller Domänenname der Website root /data/7d;
  Zeichensatz UTF-8;
  SSL-Zertifikat /usr/local/nginx/_.7d.com.crt;
  SSL-Zertifikatsschlüssel /usr/local/nginx/_.7d.com.key;

  /s1$ http://s1.7d.com/start zuletzt neu schreiben;

  if ( $http_user_agent ~* "(Android|iPhone|Windows Phone|UC|Kindle)" ){ // Umleitungsurteil neu schreiben ^/(.*)$ https://m.7d.com$uri-Umleitung; // Umleitung bedeutet 302-Umleitung (vorübergehende Übertragung) 
  }   
  …
}

Anschließend wird die Konfigurationsdatei der alten offiziellen Website auf den neuen Domänennamen geändert. Außerdem ist eine Sprungentscheidung erforderlich, um zur neuen offiziellen Website zurückzuspringen, wenn die Anforderung nicht für den mobilen Zugriff bestimmt ist.

 Server {
  hören Sie 80;
  Servername m.7d.com; // Umschreibung des alten offiziellen Domänennamens der Website .* https://$host$request_uri last;
}

Server {
  hören Sie 443 SSL;
  Servername m.7d.com; // alter offizieller Website-Domänenname root /data/7d;
  Zeichensatz UTF-8;
  SSL-Zertifikat /usr/local/nginx/_.7d.com.crt;
  SSL-Zertifikatsschlüssel /usr/local/nginx/_.7d.com.key;

  /s1$ http://s1.7d.com/start zuletzt neu schreiben;

  if ( $http_user_agent !~* "(Android|iPhone|Windows Phone|UC|Kindle)" ){ // Füge vor ~ ein ! hinzu. Wenn der Zugriff nicht von einem Mobilgerät aus erfolgt, wird auf die neue offizielle Website zurückgesprungen.
    umschreiben ^/(.*)$ https://m.7d.com$uri redirect; // Umleitung bedeutet 302-Umleitung}   
  …
}

Wenn ein Mobiltelefon auf den Domänennamen der neuen offiziellen Website 7d.com zugreift, greift es daher tatsächlich auf den Inhalt der alten offiziellen Website zu. Klicken Sie auf die Adressleiste des Browsers und Sie werden sehen, dass der Domänenname m.7d.com ist.

Tatsächlich basiert es auf HTTP_USER_AGENT, um eine Beurteilung vorzunehmen, und verwendet Nginx, um einen 302-Sprung durchzuführen. Wenn das letzte Wort „Umleitung“ in der Umschreibeanweisung in „permanent“ geändert wird, bedeutet dies einen 301-Sprung (permanente Übertragung).

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:
  • Implementierung der Nginx-Konfiguration für den Multi-Port- und Multi-Domain-Name-Zugriff
  • Lösen Sie das Problem der Änderung des Konfigurationszugriffs von tp5 unter nginx
  • So konfigurieren Sie Nginx, um die Zugriffshäufigkeit derselben IP zu begrenzen
  • Schritte zum Konfigurieren von Nginx SSL zur Implementierung des HTTPS-Zugriffs (für Anfänger geeignet)
  • Detaillierte Erläuterung der Nginx-Zugriffsbeschränkungskonfiguration
  • Detaillierte Erläuterung der SSL-Modulkonfiguration von Nginx zur Unterstützung des HTTPS-Zugriffs
  • So verwenden Sie nginx zum Konfigurieren des Zugriffs auf wgcloud

<<:  vue verwendet Ele.me UI, um die Filterfunktion von Teambition zu imitieren

>>:  MySQL-Methode zum Anzeigen der aktuell verwendeten Konfigurationsdatei my.cnf (empfohlen)

Artikel    

Artikel empfehlen

Uniapp implementiert Beispielcode für die Anmeldung mit DingTalk-Scancode

Da Uniapp nicht über eine autorisierte DingTalk-A...

Sprechen Sie über das Verständnis des CSS-Attributrands

1. Was ist eine Marge? Mit dem Rand wird die Abstä...

Mehrere Situationen, in denen Div durch Iframe abgedeckt ist, und ihre Lösungen

Ähnliche Strukturen: Code kopieren Der Code laute...

Detaillierte Erklärung des Unterschieds zwischen tinyint und int in MySQL

Frage: Was ist der Unterschied zwischen int(1) un...

CSS3 implementiert den Beispielcode der NES-Spielekonsole

Ergebnisse erzielenImplementierungscode html <...

Sechs Vererbungsmethoden in JS und ihre Vor- und Nachteile

Inhaltsverzeichnis Vorwort Vererbung von Prototyp...

Detaillierte Erläuterung der MySQL-Transaktionsverarbeitung

1. MySQL-Transaktionskonzept MySQL-Transaktionen ...

Docker View JVM-Speichernutzung

1. Rufen Sie den Hostcomputer des Docker-Containe...

Detaillierte Erklärung der Kernfunktionen und der Ereignisbehandlung von jQuery

Inhaltsverzeichnis Ereignis Seite wird geladen Ve...