How to configure Nginx to distinguish between PC or mobile phone access to different domain names

How to configure Nginx to distinguish between PC or mobile phone access to different domain names

The new official website is online, but the experience of accessing the new official website on a mobile phone is very poor. It is required to access the old official website when accessing the new official website on a mobile phone. Automatic jump can be achieved by modifying the Nginx configuration.

First, add a jump judgment to the Nginx configuration file of the new official website, and use the user-agent to determine whether the source is a mobile terminal or a PC terminal:

server {
  listen 80;
  server_name www.7d.com 7d.com; // New official website domain name rewrite .* https://$host$request_uri last;
}

server {
  listen 443 ssl;
  server_name www.7d.com 7d.com; // New official website domain name root /data/7d;
  charset utf-8;
  ssl_certificate /usr/local/nginx/_.7d.com.crt;
  ssl_certificate_key /usr/local/nginx/_.7d.com.key;

  rewrite /s1$ http://s1.7d.com/start last;

  if ( $http_user_agent ~* "(Android|iPhone|Windows Phone|UC|Kindle)" ){ // Redirect judgment rewrite ^/(.*)$ https://m.7d.com$uri redirect; // redirect means 302 redirect (temporary transfer) 
  }   
  …
}

Then the configuration file of the old official website is changed to the new domain name. Jump judgment is also required to jump back to the new official website if the request is not for mobile access.

 server {
  listen 80;
  server_name m.7d.com; // old official website domain name rewrite .* https://$host$request_uri last;
}

server {
  listen 443 ssl;
  server_name m.7d.com; // old official website domain name root /data/7d;
  charset utf-8;
  ssl_certificate /usr/local/nginx/_.7d.com.crt;
  ssl_certificate_key /usr/local/nginx/_.7d.com.key;

  rewrite /s1$ http://s1.7d.com/start last;

  if ( $http_user_agent !~* "(Android|iPhone|Windows Phone|UC|Kindle)" ){ // Add a ! before ~. If it is not accessed from a mobile device, it will jump back to the new official website.
    rewrite ^/(.*)$ https://m.7d.com$uri redirect; // redirect means 302 redirect}   
  …
}

In this way, when a mobile phone accesses the domain name of the new official website 7d.com, it actually accesses the content of the old official website. Click the address bar of the browser and you will find that the domain name is m.7d.com.

In fact, it is based on HTTP_USER_AGENT to make a judgment and use Nginx to do a 302 jump. If the last word redirect in the rewrite statement is changed to permanent, it means a 301 jump (permanent transfer).

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Implementation of Nginx configuration of multi-port and multi-domain name access
  • Solve the problem of modifying configuration access of tp5 under nginx
  • How to configure nginx to limit the access frequency of the same IP
  • Steps to configure nginx ssl to implement https access (suitable for novices)
  • Detailed explanation of Nginx access restriction configuration
  • Detailed explanation of nginx using ssl module configuration to support HTTPS access
  • How to use nginx to configure access to wgcloud

<<:  vue uses Ele.me UI to imitate the filtering function of teambition

>>:  mysql method to view the currently used configuration file my.cnf (recommended)

Recommend

How to open a page in an iframe

Solution: Just set the link's target attribute...

Three JavaScript methods to solve the Joseph ring problem

Table of contents Overview Problem Description Ci...

Implementation of vue3.0+vant3.0 rapid project construction

Table of contents 1. Project Construction 2. Vue3...

How to install the graphical interface in Linux

1. Linux installation (root user operation) 1. In...

How to configure mysql5.6 to support IPV6 connection in Linux environment

Introduction: This article mainly introduces how ...

Vue + element dynamic multiple headers and dynamic slots

Table of contents 1. Demand 2. Effect 3. All code...

How to install WSL2 Ubuntu20.04 on Windows 10 and set up the docker environment

Enable WSL Make sure the system is Windows 10 200...

How to change the encoding to utf-8 in mysql version 5.7 under windows

Preface I just started learning MySQL and downloa...

Complete the search function in the html page

Recently I've been working on a framework tha...

Detailed explanation of json file writing format

Table of contents What is JSON Why this technolog...

The difference and usage between div and span

Table of contents 1. Differences and characterist...