Tabla de contenido
Reescribir la escena del salto
Reescribir la implementación del salto
Reescribir el formato de comando/sintaxis
reescribir en comparación con la ubicación
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 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 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
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 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 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 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