Cómo utilizar Nginx Rewrit para realizar un salto de página web

Tabla de contenido

1. Reescritura de Nginx

2. Función de reescritura

Reescribir la escena del salto

Reescribir la implementación del salto

nginx

Saltar

soporte pcre

Módulo de reescritura

Reescribir el escenario real

Reescribir el formato de comando/sintaxis

descripción de la bandera

clasificación de ubicación

prioridad de ubicación

reescribir en comparación con la ubicación

3. Casos de salto

Darse cuenta del salto de nombre de dominio

El primer paso es modificar el archivo de configuración especificado.

El segundo paso es comprobar si hay errores de sintaxis. 

El tercer paso es solucionar el problema si se informa un error. 

Paso 4: agregar una relación de asignación de nombres de dominio 

Paso 5: reinicie el servicio 

Paso 6 Resultados de la prueba 

Redirigir el nombre de dominio antiguo al nuevo nombre de dominio

El primer paso es modificar el archivo de configuración.

El segundo paso es agregar una relación de mapeo de nombres de dominio.

Paso 3 Reinicia el servicio

Paso 4: crear un archivo de ejecución de página web

Paso 5: prueba con un navegador

Paso 6: Manejo de errores (solución de problemas)

Paso 7 Vuelva a probar el acceso

Salto de partido basado en parámetros

El primer paso es modificar el archivo de configuración.

Paso 2: comprueba si hay errores gramaticales

Paso 3 Reinicia el servicio

El cuarto paso es establecer la relación de mapeo.

Paso 5: prueba con un navegador

Salto de acceso basado en la dirección IP del cliente

El primer paso es modificar el archivo de configuración.

El segundo paso es detectar problemas de sintaxis de archivos.

El tercer paso es crear una página web y devolver el archivo ejecutable.

Paso 4: reinicia el servicio

Paso 5: use un navegador para probar el acceso

Salto basado en archivos PHP en el directorio

El primer paso es modificar el archivo de configuración.

El segundo paso es comprobar los problemas de sintaxis del archivo.

Paso 3 Reinicia el servicio

Paso 4: prueba con un navegador

Solicitar salto basado en RUL ordinario

El primer paso es modificar el archivo de configuración.

El segundo paso es comprobar si hay problemas gramaticales.

Paso 3 Reinicia el servicio

Paso 4: use un navegador para probar el acceso


1. Reescritura de Nginx

La función principal de Rewrite es implementar la reescritura de URL. Las reglas de Rewrite de Nginx utilizan la sintaxis de expresión regular compatible con PCRE Perl para la coincidencia de reglas. Si utiliza la función Rewrite de Nginx, debe compilar e instalar la biblioteca PCRE antes de compilar Nginx. Rewrite implementa principalmente la reescritura y redirección de direcciones URL, que es el proceso de redirigir las solicitudes web entrantes a otras URL.

Las funciones de reescritura y ubicación son algo similares y ambas pueden lograr saltos. La principal diferencia es que la reescritura se usa a menudo para cambiar la ruta para obtener recursos dentro del mismo nombre de dominio, mientras que la ubicación controla el acceso y el proxy inverso para un tipo de ruta. y puede pasar proxy_pass a otros servidores.

Las variables globales proporcionadas por Nginx o las variables configuradas por usted mismo se pueden combinar con expresiones regulares y indicadores para implementar la reescritura y redirección de URL.

la reescritura solo se puede colocar en el servidor{}, ubicación{}, si{},

Y solo puede funcionar en la cadena después del nombre de dominio, excluyendo los parámetros pasados.

2. Función de reescritura

① Reescribir la escena del salto

②Reescribir la implementación del salto

③ Reescribir el escenario real

④ Reescribir la expresión regular (usada para hacer coincidir las URL)

⑤ Reescribir comando/formato gramatical

⑥ clasificación de ubicación

⑦ prioridad de ubicación

⑧ Comparar reescritura y ubicación

⑨ Implementar el salto basado en lo anterior.

Reescribir la escena del salto

① La URL parece más estandarizada y razonable.

② Las empresas disfrazarán las direcciones URL dinámicas como direcciones estáticas para proporcionar servicios

③ Después de que el sitio web cambie a un nuevo nombre de dominio, permita que las visitas anteriores pasen al nuevo nombre de dominio.

④ Ciertos saltos comerciales en el lado del servidor

Salto de acceso URL, desarrollo y diseño de soporte.

① Salto de página ② Soporte de compatibilidad ③ Efecto de visualización

optimización SEO

mantener

① Mantenimiento backend ② Reenvío de tráfico

Seguridad

① Página pseudoestática

Reescribir la implementación del salto

nginx

Admite reescritura de URL y juicio condicional

Pero no admite la ejecución de otros comandos.

Saltar

El bucle se puede ejecutar hasta 10 veces.

nginx devolverá un error 500 después de exceder

soporte pcre

la reescritura utiliza variables globales de Nginx o variables establecidas por usted mismo

Combinando expresiones regulares y banderas para implementar la reescritura y redirección de URL

Módulo de reescritura

establecer comando

Todo lo anterior se basa en

módulo ngx_http_rewrite_module

Reescribir el escenario real

① Cómo implementar los requisitos de salto de Nginx

Utilice la reescritura para hacer coincidir el salto (anti-hotlinking)

Use if para hacer coincidir variables globales y saltar (las variables globales propias de Nginx, no las variables globales del sistema)

la ubicación puede coincidir con la reescritura local y los saltos entre servidores

② la reescritura se coloca en las secciones del módulo servidor{}, if{}, ubicación{}

La ubicación solo funciona en la cadena después del nombre de dominio que se utiliza para pasar parámetros.

③ Para nombres de dominio o cadenas de parámetros

Usar si hay coincidencia de variables globales

Utilice el proxy inverso proxy_pass

Reescribir es cambiar la ruta para obtener recursos dentro del mismo nombre de dominio.

la ubicación en sí es un recurso de ruta

Reescribir el formato de comando/sintaxis

Sintaxis del comando: reescribir [normal] [contenido después del salto] [marca de bandera admitida por reescritura];

descripción de la bandera

último (equivalente a la marca [L] de Apache, que indica la finalización de la reescritura) se usa generalmente en el servidor y si

break (esta regla termina cuando se completa la coincidencia y ya no coincide con ninguna regla posterior) generalmente se usa para la ubicación

redirección (devuelve una redirección temporal 302, la dirección del navegador mostrará la dirección URL después del salto y el rastreador no actualizará la URL)

permanente (devuelve una redirección permanente 301, la barra de direcciones del navegador mostrará la dirección URL después del salto y el rastreador actualizará la URL)

break es similar al último, pero break no reiniciará el proceso de procesamiento, sino que devolverá directamente el resultado del procesamiento.

redirigir Esta etiqueta indica que la operación de redirección se realizará inmediatamente después de que la regla actual coincida correctamente.

permanente Esta etiqueta es similar a redirigir, pero redirige permanentemente

La marca de configuración indica que la regla actual establece correctamente una variable y pasa la variable a la regla del siguiente salto.

clasificación de ubicación

ubicación = [cadena]{} #Coincidencia exacta

ubicación [cadena]{} #coincidencia general

ubicación [cadena]{} #coincidencia regular

~ #Realizar una coincidencia regular, distingue entre mayúsculas y minúsculas

~* #No distingue entre mayúsculas y minúsculas

!~ #Negación que distingue entre mayúsculas y minúsculas

!~* #negación que no distingue entre mayúsculas y minúsculas

^~ # Coincidencia de caracteres normal, utilizando coincidencia de prefijo, si la coincidencia es exitosa, no se realizará ninguna otra coincidencia

= #Caracteres comunes, coincidencia precisa

@ #Defina una ubicación con nombre y úsela para definirla internamente

prioridad de ubicación

Prefiero coincidencias exactas (=)

En segundo lugar, coincidencia de prefijo (^~)

En segundo lugar, haga coincidir las reglas habituales en el orden del archivo (~ o ​​~*)

Luego haga coincidir la coincidencia de prefijo sin ninguna modificación (coincidencia de cadena normal)

Coincidencia universal (/) Cualquier solicitud puede coincidir si no hay otra coincidencia

Orden de ejecución

Exacto > Prefijo > Regular > General > Universal

En el caso de la misma prioridad, el orden de ejecución es de arriba hacia abajo.

reescribir en comparación con la ubicación

Ambos pueden lograr el salto (el mismo punto)

reescribir es cambiar la ruta para obtener recursos dentro del mismo nombre de dominio

La ubicación controla el acceso o el proxy inverso a una clase de rutas y también puede pasar proxy_pass a otras máquinas.

la reescritura se escribirá en la ubicación (se ejecutará en orden)

Ejecute la instrucción de reescritura en el bloque Servidor

Realizar coincidencia de ubicación

Ejecute el comando de reescritura en la ubicación seleccionada

3. Casos de salto

Darse cuenta del salto de nombre de dominio

Primero, apague el firewall y los mecanismos de seguridad.

El primer paso es modificar el archivo de configuración especificado.

Modificar el usuario especificado Nginx 

Primero, debes tener un usuario del programa nginx.

cat /etc/passwd #Comprueba si hay un usuario de nginx y si es un usuario del programa

Modifique el nombre de dominio correspondiente (simplemente personalícelo)

Modifique el archivo de registro especificado. Se puede agregar o no el siguiente archivo principal.

Agregar redirección de nombre de dominio 

El segundo paso es comprobar si hay errores de sintaxis. 

Guardar y Salir

nginx -t #Comprueba si hay algún problema de sintaxis

El tercer paso es solucionar el problema si se informa un error. 

No se encontró ningún registro aquí

No se puede reconocer el formato de registro

Luego ingrese el archivo de configuración.

Guardar nuevamente y salir

Verifique nuevamente si hay errores

Crear archivos de registro manualmente

y empoderar

Paso 4: agregar una relación de asignación de nombres de dominio 

Modificar la resolución del nombre de dominio

vim/etc/hosts

Paso 5: reinicie el servicio 

Reiniciar servicio

systemctl reinicia nginx

Paso 6 Resultados de la prueba 

Prueba de acceso con navegador

Ver elementos de la página web

URL detallada y código de estado

 

Redirigir el nombre de dominio antiguo al nuevo nombre de dominio

El primer paso es modificar el archivo de configuración.

El segundo paso es agregar una relación de mapeo de nombres de dominio.

Paso 3 Reinicia el servicio

Comando: systemctl reiniciar nginx

Paso 4: crear un archivo de ejecución de página web

Paso 5: prueba con un navegador

Saltamos con éxito

Pero no hay contenido en la página.

El salto puede saltar normalmente pero no muestra el contenido de la página web.

Paso 6: Manejo de errores (solución de problemas)

Paso 7 Vuelva a probar el acceso

Salto de partido basado en parámetros

El primer paso es modificar el archivo de configuración.

Paso 2: comprueba si hay errores gramaticales

Comando: nginx -t

Paso 3 Reinicia el servicio

Comando: systemctl reiniciar nginx

El cuarto paso es establecer la relación de mapeo.

Comando: vim /etc/hosts

Paso 5: prueba con un navegador

Salto de acceso basado en la dirección IP del cliente

El primer paso es modificar el archivo de configuración.

El segundo paso es detectar problemas de sintaxis de archivos.

Comando: nginx -t

El tercer paso es crear una página web y devolver el archivo ejecutable.

Paso 4: reinicia el servicio

Comando: systemctl reiniciar nginx

Paso 5: use un navegador para probar el acceso

Salto basado en archivos PHP en el directorio

El primer paso es modificar el archivo de configuración.

El segundo paso es comprobar los problemas de sintaxis del archivo.

Comando: nginx -t

Paso 3 Reinicia el servicio

Comando: systemctl reiniciar nginx

Paso 4: prueba con un navegador

Solicitar salto basado en RUL ordinario

El primer paso es modificar el archivo de configuración.

El segundo paso es comprobar si hay problemas gramaticales.

Comando: nginx -t

Paso 3 Reinicia el servicio

Comando: systemctl reiniciar nginx

Paso 4: use un navegador para probar el acceso

Supongo que te gusta

Origin blog.csdn.net/Liu_Fang_Hong/article/details/131430507
Recomendado
Clasificación