Intenta interpretar el código correctamente previamente a usarlo a tu proyecto y si ttienes algo que aportar puedes compartirlo con nosotros.
Descripción: | Realizar operaciones de búsqueda y reemplazo en cuerpos de respuesta. |
---|---|
Estado: | Extensión |
ModuleIdentifier: | sustituto_module |
Archivo fuente: | mod_substitute.c |
Compatibilidad: | Disponible en Apache HTTP Server 2.2.7 y posterior |
Resumen
mod_substitute
proporciona un mecanismo para realizar expresiones regulares y fijas string sustituciones en los órganos de respuesta.
Directiva sustitutiva
Descripción: | Patrón para filtrar el contenido de la respuesta |
---|---|
Sintaxis: |
Substitute s/pattern/substitution/[infq] |
Contexto: | directorio, .htaccess |
Anular: | Información del archivo |
Estado: | Extensión |
Módulo: | mod_substitute |
los Substitute
La directiva especifica un patrón de búsqueda y reemplazo para aplicar al cuerpo de la respuesta.
El significado del patrón se puede modificar utilizando cualquier combinación de estos indicadores:
i
- Realice una coincidencia que no distinga entre mayúsculas y minúsculas.
n
- De forma predeterminada, el patrón se trata como una expresión regular. Utilizando el
n
bandera obliga al patrón a ser tratado como un string. f
- los
f
causas de la banderamod_substitute
para aplanar el resultado de una sustitución que permita que las sustituciones posteriores tengan lugar en el límite de esta. Este es el predeterminado. q
- los
q
causas de la banderamod_substitute
para no aplanar los cubos después de cada sustitución. Esto puede resultar en una respuesta mucho más rápida y una disminución en la utilización de la memoria, pero solo debe usarse si no hay posibilidad de que el resultado de una sustitución coincida con un patrón o expresión regular de una subsiguiente.
los sustitución Puede contener texto literal y referencias inversas de expresiones regulares.
Ejemplo
AddOutputFilterByType SUBSTITUTE text/html Substitute "s/foo/bar/ni"
El carácter que se utiliza para separar (o “delimitar”) las distintas partes de la sustitución. string se conoce como el “delimitador”, y es más común utilizar una barra inclinada para este propósito.
Si el patrón o la sustitución contienen un carácter de barra, se puede usar un delimitador alternativo para hacer que la directiva sea más legible:
Ejemplo de uso de un delimitador alternativo
AddOutputFilterByType SUBSTITUTE text/html Substitute "s|
|
|i"
Las referencias inversas se pueden utilizar en la comparación y en la sustitución, cuando se utilizan expresiones regulares, como se ilustra en el siguiente ejemplo:
Ejemplo de uso de referencias inversas y capturas
AddOutputFilterByType SUBSTITUTE text/html # "foo=k,bar=k" -> "foo/bar=k" Substitute "s|foo=(w+),bar=1|foo/bar=$1|"
Un escenario de uso común para mod_substitute
es la situación en la que un servidor de aplicaciones para el usuario envía solicitudes a un servidor de servicios de fondo que devuelve HTML con URL incrustadas codificadas que se refieren al servidor de servicios de fondo. Estas URL no funcionan para el usuario final, ya que no se puede acceder al servidor back-end.
En este caso, mod_substitute
se puede usar para reescribir esas URL en algo que funcione desde el front-end:
Reescritura de URL incrustadas en contenido proxy
ProxyPass "/blog/" "http://internal.blog.example.com/" ProxyPassReverse "/blog/" "http://internal.blog.example.com/" Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"
ProxyPassReverse
modifica cualquier Location
(redireccionar) encabezados que son enviados por el servidor back-end y, en este ejemplo, Substitute
se encarga del resto del problema arreglando también la respuesta HTML.
Sustituto Heredar Antes Directiva
Descripción: | Cambiar el orden de fusión de los patrones heredados |
---|---|
Sintaxis: |
SubstituteInheritBefore on|off |
Defecto: |
SubstituteInheritBefore off |
Contexto: | directorio, .htaccess |
Anular: | Información del archivo |
Estado: | Extensión |
Módulo: | mod_substitute |
Compatibilidad: | Disponible en httpd 2.4.17 y posterior |
Ya sea para aplicar lo heredado Substitute
patrones primeroon
), o después de los del contexto actual (off
). SubstituteInheritBefore
se hereda en sí mismo, por lo tanto, los contextos que lo heredan (aquellos que no especifican su propio SubstituteInheritBefore
value) aplicará el orden de fusión definido más cercano.
Directiva SubstituteMaxLineLength
Descripción: | Establecer el tamaño máximo de línea |
---|---|
Sintaxis: |
SubstituteMaxLineLength bytes(b|B|k|K|m|M|g|G) |
Defecto: |
SubstituteMaxLineLength 1m |
Contexto: | directorio, .htaccess |
Anular: | Información del archivo |
Estado: | Extensión |
Módulo: | mod_substitute |
Compatibilidad: | Disponible en httpd 2.4.11 y posterior |
El tamaño máximo de línea manejado por mod_substitute
se limita a restringir el uso de la memoria. El límite se puede configurar usando SubstituteMaxLineLength
. El valor se puede dar como el número de bytes y se puede agregar como sufijo una sola letra b
, B
, k
, K
, m
, M
, g
, G
para proporcionar el tamaño en bytes, kilobytes, megabytes o gigabytes respectivamente.
Ejemplo
AddOutputFilterByType SUBSTITUTE text/html SubstituteMaxLineLength 10m Substitute "s/foo/bar/ni"
Si te sientes impulsado, tienes la libertad de dejar un ensayo acerca de qué le añadirías a esta sección.