Introducción al uso del salto de reescritura en nginx y configuración de la conexión de salto de reescritura

Uno, introducción al uso de reescritura

1. Reescribe la escena del salto

1. La URL por la que navegan los usuarios se puede ajustar para que parezca más estandarizada y satisfaga las necesidades de los desarrolladores y el personal del producto.
2. Para que los motores de búsqueda busquen contenido de sitios web y mejoren la experiencia del usuario, las empresas disfrazarán direcciones URL dinámicas como direcciones estáticas para brindar servicios. .
3. Después de que la URL se cambie a un nuevo nombre de dominio, deje que las visitas anteriores salten al nuevo nombre de dominio. Por ejemplo, cuando visite 360buy.com en JD.com
, será redirigido a jd.com 4. Ajuste la URL en función de variables especiales, directorios e información del cliente.

2. Reescribir la implementación del salto

Nginx admite la reescritura de URL y el juicio de condiciones a través del módulo ngx_http_rewrite_module , pero no admite más. Además, este módulo necesita soporte PCRE. Debe especificar el soporte PCRE al compilar Nginx, y está instalado por defecto. De acuerdo con la redirección de la variable relevante y la selección de diferentes configuraciones, salte de una ubicación a otra, pero este ciclo se puede ejecutar hasta 10 veces, después de lo cual Nginx devolverá un error 500. Al mismo tiempo, el módulo de reescritura contiene la instrucción set para crear una nueva variable y establecer su valor. Esto es muy útil en algunas situaciones, como registrar la identificación de condiciones, pasar parámetros a otras ubicaciones, registrar lo que se ha hecho, etc. La función de reescritura es utilizar variables globales proporcionadas por Nginx o variables establecidas por usted mismo, combinadas con expresiones regulares y banderas para lograr la reescritura y la redirección de URL.

3.Reescribe la escena real

En escenarios de trabajo reales, hay tres formas de lograr los requisitos de salto de Nginx.

  1. Puedes usar reescribir directamente para hacer coincidir el salto
  2. También puede usar if para saltar después de hacer coincidir las variables globales
  3. Además, también puede usar la ubicación para hacer coincidir y luego saltar,
    por lo que la reescritura solo se puede colocar en la sección del servidor {}, si {}, ubicación {}, la
    ubicación solo puede funcionar en la cadena después del nombre de dominio, excepto por los parámetros pasados

Dos, formato de sintaxis de reescritura

1. Reescribir el formato del comando

Inserte la descripción de la imagen aquí

2. Se admiten metacaracteres de expresión regular de uso común

Inserte la descripción de la imagen aquí

3. El contenido después del salto

Por lo general, es la información de la ruta del nombre de dominio URL de la página web o sitio web al que se redirige.

4. Marca de bandera

4.1. Descripción de la bandera Inserte la descripción de la imagen aquí
4.2. Comparación de la última bandera y la bandera de ruptura
Inserte la descripción de la imagen aquí

Tres, reglas de coincidencia de ubicación

1. Clasificación de la ubicación

Inserte la descripción de la imagen aquí

2. Expresiones de uso común para la coincidencia regular de ubicaciones

Inserte la descripción de la imagen aquí

3. La prioridad de la coincidencia de ubicación

Inserte la descripción de la imagen aquí

4. Ejemplo de prioridad de ubicación

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

5. Comparación de reescritura y ubicación

Inserte la descripción de la imagen aquí

En cuarto lugar, la configuración de la redirección basada en el nombre de dominio IP y otros métodos.

El servicio nginx se ha implementado en el lado del servidor. El cliente ha completado el servicio de resolución de nombres de dominio.

La ubicación del archivo de configuración para la resolución del nombre de dominio:
la ruta del archivo de hosts de Linux es: / etc / hosts
La ruta del archivo de hosts de Windows es: C: \ Windows \ System32 \ drivers \ etc \ hosts

1. Redirigir según el nombre de dominio

Ahora, el antiguo nombre de dominio de la empresa www.wlm.com tiene requisitos comerciales y cambios, y en su lugar debe utilizarse el nuevo nombre de dominio www.wat.com. Pero el nombre de dominio antiguo no se puede abolir y debe saltar al nuevo nombre de dominio. La configuración específica es la siguiente.

[root@Nginx ~]# vim /usr/local/nginx/conf/nginx.conf
server {           
        listen       80;
        server_name  www.wlm.com;
        charset utf-8;
        access_log  /var/log/nginx/wlm.access.log;
    location / {
            root   html;
            index  index.html index.htm;
    if ($host = 'www.wlm.com'){     //如果你输入这个网站
   rewrite ^/(.*)$ http://www.wat.com/$1 permanent;
   //跳转到另一个网站的任何位置
}   
        }

La prueba de salto basada en el nombre de dominio
Inserte la descripción de la imagen aquí
logró el salto
Inserte la descripción de la imagen aquí

2. Redireccionamiento de acceso según la IP del cliente

Por ejemplo, la versión comercial de la compañía está en línea hoy, y todo acceso IP a cualquier contenido mostrará una página de mantenimiento fija, y solo el acceso IP de la compañía es normal.

[root@Nginx ~]# vim /usr/local/nginx/conf/nginx.conf
server {           
        listen       80;
        server_name  www.wlm.com;
        charset utf-8;
   access_log  /var/log/nginx/wlm.access.log;
set $rewrite true;
if ($remote_addr = '20.0.0.1'){
set $rewrite false;
}
if ($rewrite = true){
rewrite (.+) /wh.html;
}
location = /wh.html {
root  /usr/local/nginx/html/;
}
[root@Nginx ~]# cd /usr/local/nginx/html/
[root@Nginx html]# vim wh.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
</head>
<body>
<h1>维护   中</h1>
</body>
</html>

Resultados de la prueba
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/wulimingde/article/details/108453805
Recomendado
Clasificación