Show Menu
TEMAS×

Acerca del menú Reescribir reglas

Utilice el menú Reescribir reglas para establecer reglas de rastreo y búsqueda de URL y título.

Acerca de las reglas URL del almacén de listas de rastreo

Las reglas de URL de rastreo especifican cómo se reescriben las URL que encuentra dentro del contenido web. Puede especificar un número ilimitado de reglas y condiciones, y puede manipular cualquier parte de las direcciones URL encontradas.
Las reglas de rastreo son más útiles para reescribir partes dinámicas de una URL, como un identificador de sesión único para cada cliente que visita el sitio web. También puede utilizar reglas de reescritura para ocultar partes de una URL, como parámetros de consulta, del robot de búsqueda. De forma predeterminada, no se especifican reglas y no se reescribe la dirección URL.
A medida que se rastrea un sitio web, las direcciones URL de contenido incrustado se almacenan en una lista temporal de páginas web adicionales para rastrear. Antes de agregar una dirección URL a esta lista, se le aplican las reglas de reescritura de la tienda. Generalmente, las reglas de reescritura de la tienda se utilizan para eliminar una identificación de sesión de una dirección URL o para aplicar una identificación de sesión específica para el rastreo. Cuando el robot de búsqueda recupera una dirección URL de la lista, se utilizan las reglas de reescritura Recuperar para volver a manipular partes de esa dirección URL. Normalmente, las reglas de recuperación se utilizan para insertar datos que distinguen tiempo en la dirección URL. Es esta dirección URL final la que se utiliza para recuperar la página del sitio web.
Normalmente, las reglas de URL de la tienda se utilizan exclusivamente. Recuperar reglas de URL solo es necesario si las direcciones URL contienen datos dinámicos, como un ID de sesión, y si los datos dinámicos cambian con el tiempo para seguir siendo válidos. En este caso, se utilizan las reglas de URL de la tienda para obtener el estado más reciente de los datos de las URL encontradas. A continuación, utilice Recuperar reglas de URL para agregar esos datos a cada dirección URL cuando el robot de búsqueda intente recuperar la página.
Cada regla se especifica con una directiva de regla de reescritura (RewriteRule) y una o más condiciones de reescritura opcionales (RewriteCond). El orden de las reglas es importante. El conjunto de reglas se procesa en bucle por regla. Cuando una regla coincide, se repite en cualquier condición de reescritura correspondiente. Se especifica una regla de URL de rastreo de la siguiente manera:
RewriteCond TestString CondPattern [Flags] 
RewriteRule Pattern Substitution [Flags]

Cuando se encuentra una dirección URL incrustada, el robot de búsqueda intenta hacer coincidir la dirección URL con el patrón de cada regla de rastreo. Si el patrón coincide, el motor de reescritura busca las directivas RewriteCond correspondientes. Si no hay condiciones, la dirección URL se sustituye por un nuevo valor creado a partir de la cadena Sustitución y continúa con la siguiente regla del conjunto de reglas. Si existen condiciones, se procesan en el orden en que aparecen en la lista. El motor de reescritura intenta hacer coincidir un patrón de condición (CondPattern) con una cadena de prueba (TestString). Si las dos coincidencias, la siguiente condición se procesa hasta que no haya más condiciones disponibles. Si todas las condiciones coinciden, la dirección URL se reemplaza por la sustitución especificada en la regla. Si no se cumple la condición, se produce un error en el conjunto completo de condiciones y en la regla correspondiente.

Acerca de las directivas RewriteRule

Una directiva RewriteRule tiene el siguiente formato:
           
<i>RewriteRule Pattern Substitution [Flags]</i> 
        

Pattern puede ser una expresión regular POSIX, que se aplica a la dirección URL actual. La "dirección URL actual" puede diferir de la dirección URL solicitada original, ya que es posible que las reglas anteriores ya hayan coincidido y modificado la dirección URL.
Consulte Expresiones regulares .
No se puede usar el carácter "no" ('!') para prefijar el patrón. El carácter "no" permite negar un patrón, es decir, que sea verdadero solo si la dirección URL actual NO coincide con este patrón. El carácter "no" se puede utilizar cuando es mejor que coincida con un patrón negativo o como regla predeterminada final.
No se pueden usar tanto el carácter "no" como los comodines agrupados en un patrón. Además, no puede utilizar un patrón negado cuando la cadena de sustitución contiene $N.
Puede utilizar paréntesis para crear una referencia inversa en el patrón, al que pueden hacer referencia la sustitución y el modelo de código.
Sustitución La URL se sustituye por la cadena de sustitución, que contiene lo siguiente:
Texto sin formato: Texto que se pasa sin modificar.
Las referencias anteriores proporcionan acceso a las partes agrupadas (entre paréntesis) del Patrón o CondPattern. A continuación se indican los dos tipos de referencias anteriores:
  • Referencias de reglas de reescritura Estas referencias de coincidencia son referencias anteriores en el patrón de reglas de reescritura correspondiente y tienen la forma $N (0 <= N <= 9). Por ejemplo, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2.
  • RewriteCond Referencias Estas referencias anteriores de coincidencia en el último CondPattern de RewriteCond coincidente y tienen la forma %N (0 <= N <= 9).
Variables: Son variables con el formato % donde NAME_OF_VARIABLE es una cadena para el nombre de una variable definida. Consulte el *[E]* indicador para obtener más información sobre la configuración de variables de entorno.
Funciones: Estas son funciones del formulario $ donde NAME_OF_FUNCTION es la siguiente:
  • el operador hace que todos los caracteres de la tecla estén en minúsculas.
  • toupper escribe todos los caracteres en clave en mayúsculas.
  • escape URL-codifica todos los caracteres de la clave .
  • Los caracteres 'a'..'z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' y '_' se dejan sin cambios; los espacios se traducen a '+' y todos los demás caracteres se transforman en su equivalente con codificación URL %xx.
  • unescape vuelve a transformar '+' en espacio y todos los caracteres con codificación URL %xx en caracteres únicos.
Hay una cadena de sustitución especial: '-' eso significa "NO hay sustitución". La '-' cadena se utiliza con frecuencia con el indicador C (cadena), lo que permite hacer coincidir una dirección URL con varios patrones antes de que se produzca una sustitución.
Indicadores
(opcional) Incluya los indicadores entre corchetes [] . Varios indicadores están separados por comas.
Indicador
Descripción
'last|L'
Última regla.
Detiene el proceso de reescritura y no aplica ninguna regla de reescritura adicional. Use este indicador para evitar que se siga procesando la dirección URL actual.
'next|N'
Próxima ronda.
Vuelve a ejecutar el proceso de reescritura (comenzando de nuevo con la primera regla de reescritura) utilizando la URL de la última regla de reescritura (no la dirección URL original). ¡Ten cuidado de no crear un ciclo de espera!
'chain|C'
Encadenado con la siguiente regla.
Encadena la regla actual a la siguiente regla (que también se puede encadenar a la siguiente regla, etc.). Si una regla coincide, el proceso de sustitución continúa como de costumbre. Si la regla no coincide, se omiten todas las reglas encadenadas subsiguientes.
'nocase|NC'
No hay caso.
Hace que el patrón no distinga entre mayúsculas y minúsculas (es decir, no hay diferencia entre 'A-Z' y 'a-z') cuando el patrón se compara con la dirección URL actual.
'omitir|S=num'
Omita las reglas siguientes.
Si la regla actual coincide, este indicador fuerza al motor de reescritura a omitir las siguientes reglas de núm en el conjunto de reglas. Utilice este indicador para crear construcciones pseudo if-then-else. La última regla de la cláusula then se convierte en un valor Skit=N donde N es el número de reglas de la cláusula else.
Nota: ¡Esta bandera no es la misma que la bandera 'chain|C'!)
'env|E=VAR:VAL'
Establece la variable ambiental.
Crea una variable ambiental "VAR" establecida en el valor VAL, donde VAL puede contener referencias anteriores de expresiones regulares, $N y %N, que se expanden. Puede utilizar este indicador más de una vez para establecer varias variables. Posteriormente se puede anular la referencia a las variables en un patrón RewriteCond siguiente mediante %{VAR}.
Utilice este indicador para eliminar y recordar información de las direcciones URL.
Las reglas de reescritura de almacenamiento y las reglas de reescritura de recuperación comparten valores de variables. Debido a este comportamiento, puede establecer una variable en un valor session-id que distinga el tiempo cuando se encuentre y almacene una URL incrustada. Cuando se recupera la siguiente dirección URL de la lista de almacenamiento temporal, se puede agregar el valor de identificación de sesión más reciente antes de recuperar esa página.
Ejemplo de una regla de reescritura con una función
Supongamos que tiene un servidor que distingue entre mayúsculas y minúsculas, que maneja las cadenas "www.mydomain.com" y "www.MyDomain.com" de forma diferente. Para que el servidor funcione correctamente, asegúrese de que el dominio siempre esté presente "www.mydomain.com" aunque algunos documentos contengan vínculos que hagan referencia "www.MyDomain.com." Para ello, puede utilizar la siguiente regla:
RewriteRule  ^https:// 
<b>([^/]*)</b> 
<i>(.*)</i>$  https://${tolower:$1}$2

Esta regla de reescritura utiliza la función tolower para reescribir la parte de dominio de una dirección URL para asegurarse de que siempre esté en minúsculas, como en el siguiente ejemplo:
  1. El patrón (^https://([^/]*)(.*)$) contiene una referencia ([^/]*) que coincide con todos los caracteres entre https:// y el primero / en la dirección URL. El patrón también contiene una segunda referencia (.*) que coincide con todos los caracteres restantes de la dirección URL.
  2. La sustitución (https://${tolower:$1}$2) indica al motor de búsqueda que vuelva a escribir la dirección URL utilizando la tolower función en la primera referencia secundaria (https:// ${tolower:$1}$2) dejando el resto de la dirección URL intacta (https://${tolower:$1} $2) .
Por lo tanto, una dirección URL del formulario https://www.MyDomain.com/INTRO/index.Html se reescribe como https://www.mydomain.com/INTRO/index.Html .

Acerca de las directivas RewriteCond

La directiva RewriteCond define una condición de regla. Cuando RewriteCond precede a una RewriteRule, la regla solo se utiliza si su patrón coincide con el título actual y se aplican las condiciones adicionales. Las condiciones de reescritura adoptan la siguiente forma:
           
<i>RewriteCond TestString CondPattern [Flags]</i> 
        

TestString es una cadena que puede contener las siguientes construcciones:
Texto sin formato: Texto que se pasa sin modificar.
Las referencias anteriores proporcionan acceso a las partes agrupadas (entre paréntesis) del Patrón o CondPattern. A continuación se indican los dos tipos de referencias anteriores:
  • Referencias de reglas de reescritura Estas referencias de coincidencia son referencias anteriores en el patrón de reglas de reescritura correspondiente y tienen la forma $N (0 <= N <= 9). Por ejemplo, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2 .
  • RewriteCond Referencias Anteriores Estas referencias coincidentes en el último CondPattern de RewriteCond coincidente y tienen la forma %N (0<= N <= 9).
Variables: Son variables con el formato % donde NAME_OF_VARIABLE puede ser una cadena para el nombre de una variable definida. Consulte el indicador RewriteRule [E] para obtener más información sobre la configuración de variables.
Funciones: Estas son funciones del formulario $ donde NAME_OF_FUNCTION es la siguiente:
  • el operador hace que todos los caracteres de la tecla estén en minúsculas.
  • toupper escribe todos los caracteres en clave en mayúsculas.
  • escape URL-codifica todos los caracteres de la clave. Los caracteres 'a'..'z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' y '_' se dejan sin cambios, los espacios se traducen a '+' y todos los demás caracteres se transforman en su equivalente codificado en %xx URL.
  • unescape transforma '+' en espacio y todos los caracteres de codificación de %xx URL vuelven a codificarse en caracteres únicos.
CondPattern es una expresión regular extendida estándar con algunas adiciones. La cadena de patrón puede tener un ! carácter (signo de exclamación) como prefijo para especificar un patrón no coincidente. En lugar de cadenas de expresión regulares reales, puede utilizar una de las siguientes variantes especiales:
También puede añadir un prefijo a todas estas pruebas con un signo de exclamación ('!') para negar su significado.
Cadena CondPattern
Descripción
'<CondPattern'
Lexicamente menos.
Trata el CondPattern como una cadena sin formato y lo compara lexicamente con TestString. True si TestString es léxicamente menor que CondPattern.
'>CondPattern'
bueno Lexicamente.
Trata el CondPattern como una cadena sin formato y lo compara lexicamente con TestString. True si TestString es bueno lexicamente que CondPattern.
'=CondPattern'
Lexicamente igual.
Trata el CondPattern como una cadena sin formato y lo compara lexicamente con TestString. True si TestString es léxicamente igual a CondPattern, es decir, las dos cadenas son exactamente iguales (carácter por carácter). Si CondPattern es sólo "" (dos comillas), se compara TestString con la cadena vacía.
Marcas (opcional) Encerrar los indicadores entre corchetes [] . Varios indicadores están separados por comas.
Indicador
Descripción
'nocase|NC'
No hay caso.
Este indicador hace que la prueba no distinga entre mayúsculas y minúsculas, es decir, no hay diferencia entre 'A-Z' y 'a-z' tanto en la cadena de prueba expandida como en el modelo de condPattern.
'ornext|OR'
O condición siguiente.
Utilice este indicador para combinar las condiciones de regla con un O local en lugar del Y implícito. Sin este indicador, tendría que escribir el cond/regla varias veces.
Ejemplo
Algunas páginas Web asignan una variable CGI "sessionid" la primera vez que un visitante llega a un sitio. Esta variable se utiliza para identificar al visitante y, a medida que el visitante navega por el sitio, se pasa la variable. Dado que el robot de búsqueda se parece a un visitante del sitio, se le asigna un número "sessionid". El robot de búsqueda mantiene este único valor "sessionid", incluso si una segunda página del sitio intenta asignar un nuevo valor. Para garantizar esto, necesita dos reglas de reescritura.
La primera regla se utiliza para identificar y almacenar la variable sessionid:
RewriteCond  %{sessionid}  !.+ 
RewriteRule  ^.+sessionid= 
<b>([^&#]+)</b>.*$  -   
<i>[E=sessionid:$1]</i>

RewriteRule utiliza un indicador E ([E=sessionid:$1]) para asignar el valor actual del parámetro CGI sessionid a la variable sessionid . La $1 referencia hace referencia a la primera referencia, que se encuentra entre el primer conjunto de paréntesis del patrón de RewriteRule ([^&#]+) .
La expresión regular ^&#]+ coincide con la parte de una dirección URL entre la palabra sessionid y el siguiente **&**or**#** carácter. Dado que esta regla de reescritura solo se utiliza para crear el valor inicial de la variable sessionid, no se reescribe. Tenga en cuenta que el campo Sustitución de la regla está establecido en - para indicar que no se requiere reescritura.
RewriteCond examina la variable sessionid ( %{sessionid} ). Si ni siquiera tiene un solo carácter (!.+), entonces la regla de reescritura coincide.
Con esta regla, la dirección URL se lee https://www.domain.com/home/?sessionid=1234&function=start y asigna el valor 1234 a la variable sessionid .
La segunda regla se utiliza para reescribir todas las direcciones URL que coincidan con el siguiente patrón RewriteRule:
RewriteRule   
<b>^(.+)</b>sessionid=[^&#]+ 
<i>(.*)$</i>  $1sessionid=%{sessionid}$2

El patrón RewriteRule contiene dos referencias atrás: (.+) y (.*) . La primera referencia inversa coincide con todos los caracteres anteriores sessionid . La segunda referencia inversa coincide con todos los caracteres posteriores a la finalización & o # .
El patrón de sustitución vuelve a escribir la dirección URL utilizando la primera referencia, seguida de la cadena "sessionid=", seguida del valor de la variable de ID de sesión definida por la primera regla %{sessionid} , seguida de la segunda referencia. ($1sessionid=%{sessionid} $2)
Tenga en cuenta que esta RewriteRule no contiene un RewriteCond. Como tal, provoca una reescritura para todas las direcciones URL que coinciden con el patrón RewriteRule. Por lo tanto, si el valor de la variable sessionid ( %{sessionid} ) es 1234 , una dirección URL del formulario https://www.domain.com/products/?sessionid=5678&function=buy se reescribe como https://www.domain.com/products/?sessionid=1234&function=buy

Reconocimiento

El software del motor de reescritura fue originalmente desarrollado por el Grupo Apache para su uso en el proyecto del servidor Apache HTTP (https://www.apache.org/).

Adición de una regla URL de almacén de listas de rastreo

Puede agregar reglas de URL del almacén de listas de rastreo para especificar cómo se reescriben las direcciones URL que se encuentran en el contenido web. Puede especificar un número ilimitado de reglas y condiciones, y puede manipular cualquier parte de las direcciones URL encontradas.
Para agregar reglas de URL del almacén de listas de rastreo
  1. En el menú de producto, haga clic en Settings > Rewrite Rules > Crawl List Store URL Rules .
  2. En el Crawl List Store URL Rules campo, introduzca las reglas que desee.
    Se permiten líneas en blanco y líneas de comentarios que comienzan con un carácter '#' (hash).
  3. (Opcional) En la Crawl List Store URL Rules página, en el Test Crawl List Store URL Rules campo, escriba una dirección URL de prueba cuyas reglas de rastreo desee probar y, a continuación, haga clic en Prueba .
  4. Haga clic en Guardar cambios .
  5. (Opcional) Si desea obtener una vista previa de los resultados, vuelva a generar el índice del sitio escalonado.
  6. (Opcional) En la Crawl List Store URL Rules página, realice una de las siguientes acciones:

Acerca de las reglas de recuperación de URL de la lista de rastreo

Las reglas de URL de rastreo especifican cómo se reescriben las URL que se encuentran en el contenido web. Puede especificar un número ilimitado de reglas y condiciones, y puede manipular cualquier parte de las direcciones URL encontradas.
Antes de que los clientes vean los efectos de las reglas, asegúrese de volver a generar el índice del sitio.
Las reglas de rastreo son más útiles para reescribir partes dinámicas de una URL, como un identificador de sesión único para cada cliente que visita el sitio web. También puede utilizar reglas de reescritura para ocultar partes de una URL, como parámetros de consulta, del robot de búsqueda. De forma predeterminada, no se especifican reglas y no se reescribe la dirección URL.
A medida que se rastrea un sitio web, las direcciones URL de contenido incrustado se almacenan en una lista temporal de páginas web adicionales para rastrear. Cuando el robot de búsqueda recupera una dirección URL de la lista, se utilizan las reglas de recuperación de reescritura para manipular partes de esa dirección URL. Normalmente, las reglas de recuperación se utilizan para insertar datos que distinguen tiempo en una dirección URL. Es esta dirección URL final la que se utiliza para recuperar la página del sitio web.
Recuperar reglas de reescritura solo es necesario si las direcciones URL contienen datos dinámicos, como un identificador de sesión, y si los datos dinámicos cambian con el tiempo para seguir siendo válidos. En este caso, se utilizan las reglas de reescritura de la tienda para obtener el estado más reciente de los datos de las direcciones URL encontradas. A continuación, utilice Recuperar reglas de reescritura para agregar esos datos a cada dirección URL cuando los robots de búsqueda recuperen la página.
Cada regla se especifica con una directiva de regla de reescritura (RewriteRule) y una o más condiciones de reescritura opcionales (RewriteCond). El orden de las reglas es importante. El conjunto de reglas se procesa en bucle por regla. Cuando una regla coincide, se repite en cualquier condición de reescritura correspondiente. Se especifica una regla de URL de rastreo de la siguiente manera:
RewriteCond TestString CondPattern [Flags] 
RewriteRule Pattern Substitution [Flags]

Cuando se encuentra una dirección URL incrustada, el robot de búsqueda intenta hacer coincidir la dirección URL con el patrón de cada regla de rastreo. Si el patrón coincide, el motor de reescritura busca las directivas RewriteCond correspondientes. Si no hay condiciones, la dirección URL se sustituye por un nuevo valor creado a partir de la cadena Sustitución y continúa con la siguiente regla del conjunto de reglas. Si existen condiciones, se procesan en el orden en que aparecen en la lista. El motor de reescritura intenta hacer coincidir un patrón de condición (CondPattern) con una cadena de prueba (TestString). Si las dos coincidencias, la siguiente condición se procesa hasta que no haya más condiciones disponibles. Si todas las condiciones coinciden, la dirección URL se reemplaza por la sustitución especificada en la regla. Si no se cumple la condición, se produce un error en el conjunto completo de condiciones y en la regla correspondiente.

Acerca de las directivas RewriteRule

Una directiva RewriteRule tiene el siguiente formato:
           
<i>RewriteRule Pattern Substitution [Flags]</i> 
        

Pattern puede ser una expresión regular POSIX, que se aplica a la dirección URL actual. La "dirección URL actual" puede diferir de la dirección URL solicitada original, ya que es posible que las reglas anteriores ya hayan coincidido y modificado la dirección URL.
Consulte Expresiones regulares .
No se puede usar el carácter "no" ('!') para prefijar el patrón. El carácter "no" permite negar un patrón, es decir, que sea verdadero solo si la dirección URL actual NO coincide con este patrón. El carácter "no" se puede utilizar cuando es mejor que coincida con un patrón negativo o como regla predeterminada final.
No se pueden usar tanto el carácter "no" como los comodines agrupados en un patrón. Además, no puede utilizar un patrón negado cuando la cadena de sustitución contiene $N.
Puede utilizar paréntesis para crear una referencia inversa en el patrón, al que pueden hacer referencia la sustitución y el modelo de código.
Sustitución La URL se sustituye por la cadena de sustitución, que contiene lo siguiente:
Texto sin formato: Texto que se pasa sin modificar.
Las referencias anteriores proporcionan acceso a las partes agrupadas (entre paréntesis) del Patrón o CondPattern. A continuación se indican los dos tipos de referencias anteriores:
  • Referencias de reglas de reescritura Estas referencias de coincidencia son referencias anteriores en el patrón de reglas de reescritura correspondiente y tienen la forma $N (0 <= N <= 9). Por ejemplo, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2.
  • ** RewriteCond Referencias anteriores** Estas referencias anteriores de coincidencia en el último CondPattern de RewriteCond coincidente y toman la forma %N (0 <= N <= 9).
Variables: Son variables con el formato % donde NAME_OF_VARIABLE es una cadena para el nombre de una variable definida. Consulte el indicador # para obtener más información sobre la configuración de variables de entorno.
Funciones: Estas son funciones del formulario $ donde NAME_OF_FUNCTION es la siguiente:
  • el operador hace que todos los caracteres de la tecla estén en minúsculas.
  • toupper escribe todos los caracteres en clave en mayúsculas.
  • escape URL-codifica todos los caracteres de la clave .
  • Los caracteres 'a'..'z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' y '_' se dejan sin cambios; los espacios se traducen a '+' y todos los demás caracteres se transforman en su equivalente con codificación URL %xx.
  • unescape vuelve a transformar '+' en espacio y todos los caracteres con codificación URL %xx en caracteres únicos.
Hay una cadena de sustitución especial: '-' que significa "NO sustitución". La cadena '-' se utiliza con frecuencia con el indicador C (cadena), lo que permite hacer coincidir una dirección URL con varios patrones antes de que se produzca una sustitución.
Indicadores
Indicador
Descripción
'last|L'
Última regla.
Detiene el proceso de reescritura y no aplica ninguna regla de reescritura adicional. Use este indicador para evitar que se siga procesando la dirección URL actual.
'next|N'
Próxima ronda.
Vuelve a ejecutar el proceso de reescritura (comenzando de nuevo con la primera regla de reescritura) utilizando la URL de la última regla de reescritura (no la dirección URL original). Tenga cuidado de no crear un bucle de muerte.
'chain|C'
Encadenado con la siguiente regla.
Encadena la regla actual a la siguiente regla (que también se puede encadenar a la siguiente regla, etc.). Si una regla coincide, el proceso de sustitución continúa como de costumbre. Si la regla no coincide, se omiten todas las reglas encadenadas subsiguientes.
'nocase|NC'
No hay caso.
Hace que el patrón no distinga entre mayúsculas y minúsculas (es decir, no hay diferencia entre 'A-Z' y 'a-z') cuando el patrón se compara con la dirección URL actual.
'omitir|S=num'
Omita las reglas siguientes.
Si la regla actual coincide, este indicador fuerza al motor de reescritura a omitir las siguientes reglas de núm en el conjunto de reglas. Utilice este indicador para crear construcciones pseudo if-then-else. La última regla de la cláusula then se convierte en un valor Skit=N donde N es el número de reglas de la cláusula else.
Nota: ¡Esta bandera no es la misma que la bandera 'chain|C'!)
'env|E=VAR:VAL'
Establece la variable ambiental.
Crea una variable ambiental "VAR" establecida en el valor VAL, donde VAL puede contener referencias anteriores de expresiones regulares, $N y %N, que se expanden. Puede utilizar este indicador más de una vez para establecer varias variables. Posteriormente se puede anular la referencia a las variables en un patrón RewriteCond siguiente mediante %{VAR}.
Utilice este indicador para eliminar y recordar información de las direcciones URL.
Las reglas de reescritura de almacenamiento y las reglas de reescritura de recuperación comparten valores de variables. Debido a este comportamiento, puede establecer una variable en un valor session-id que distinga el tiempo cuando se encuentre y almacene una URL incrustada. Cuando se recupera la siguiente dirección URL de la lista de almacenamiento temporal, se puede agregar el valor de identificación de sesión más reciente antes de recuperar esa página.
Ejemplo de una regla de reescritura con una función
Supongamos que tiene un servidor que distingue entre mayúsculas y minúsculas y que maneja las cadenas "www.mydomain.com" y "www.MyDomain.com" de forma diferente. Para que el servidor funcione correctamente, asegúrese de que el dominio sea siempre "www.mydomain.com" aunque algunos documentos contengan vínculos que hagan referencia a "www.MyDomain.com". Para ello, puede utilizar la siguiente regla:
RewriteRule  ^https:// 
<b>([^/]*)</b> 
<i>(.*)</i>$  https://${tolower:$1}$2

Esta regla de reescritura utiliza la función tolower para reescribir la parte de dominio de una dirección URL para asegurarse de que siempre esté en minúsculas, como en el siguiente ejemplo:
  1. El patrón (^https://([^/]*)(.*)$) contiene una referencia inversa ** ([^/]*) ** que coincide con todos los caracteres entre https:// y el primero / en la dirección URL. El patrón también contiene una segunda referencia (.*) que coincide con todos los caracteres restantes de la dirección URL.
  2. La sustitución (https://${tolower:$1}$2) indica al motor de búsqueda que vuelva a escribir la dirección URL utilizando la tolower función en la primera referencia secundaria (https:// ${tolower:$1}$2) dejando el resto de la dirección URL intacta (https://${tolower:$1} $2) .
Por lo tanto, una dirección URL del formulario https://www.MyDomain.com/INTRO/index.Html se reescribe como https://www.mydomain.com/INTRO/index.Html .

Acerca de las directivas RewriteCond

La directiva RewriteCond define una condición de regla. Cuando RewriteCond precede a una RewriteRule, la regla solo se utiliza si su patrón coincide con el título actual y se aplican las condiciones adicionales. Las condiciones de reescritura adoptan la siguiente forma:
           
<i>RewriteCond TestString CondPattern [Flags]</i> 
        

TestString es una cadena que puede contener las siguientes construcciones:
Texto sin formato: Texto que se pasa sin modificar.
Las referencias anteriores proporcionan acceso a las partes agrupadas (entre paréntesis) del Patrón o CondPattern. A continuación se indican los dos tipos de referencias anteriores:
  • Referencias de reglas de reescritura Estas referencias de coincidencia son referencias anteriores en el patrón de reglas de reescritura correspondiente y tienen la forma $N (0 <= N <= 9). Por ejemplo, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2 .
  • RewriteCond Referencias Anteriores Estas referencias coincidentes en el último CondPattern de RewriteCond coincidente y tienen la forma %N (0<= N <= 9).
Variables: Son variables con el formato % donde NAME_OF_VARIABLE puede ser una cadena para el nombre de una variable definida. Consulte el indicador RewriteRule [E] para obtener más información sobre la configuración de variables.
Funciones: Estas son funciones del formulario $ donde NAME_OF_FUNCTION es la siguiente:
  • el operador hace que todos los caracteres de la tecla estén en minúsculas.
  • toupper escribe todos los caracteres en clave en mayúsculas.
  • escape URL-codifica todos los caracteres de la clave. Los caracteres 'a'..'z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' y '_' se dejan sin cambios, los espacios se traducen a '+' y todos los demás caracteres se transforman en su equivalente con codificación URL %xx.
  • unescape transforma '+' de nuevo al espacio y todos los caracteres de codificación de URL %xx vuelven a codificarse en caracteres únicos.
CondPattern es una expresión regular extendida estándar con algunas adiciones. La cadena de patrón puede tener el prefijo '!' carácter (signo de exclamación) para especificar un patrón no coincidente. En lugar de cadenas de expresión regulares reales, puede utilizar una de las siguientes variantes especiales:
También puede añadir un prefijo a todas estas pruebas con un signo de exclamación ('!') para negar su significado.
Cadena CondPattern
Descripción
'<CondPattern'
Lexicamente menos.
Trata el CondPattern como una cadena sin formato y lo compara lexicamente con TestString. True si TestString es léxicamente menor que CondPattern.
'>CondPattern'
bueno Lexicamente.
Trata el CondPattern como una cadena sin formato y lo compara lexicamente con TestString. True si TestString es bueno lexicamente que CondPattern.
'=CondPattern'
Lexicamente igual.
Trata el CondPattern como una cadena sin formato y lo compara lexicamente con TestString. True si TestString es léxicamente igual a CondPattern, es decir, las dos cadenas son exactamente iguales (carácter por carácter). Si CondPattern es sólo "" (dos comillas), se compara TestString con la cadena vacía.
Marcas (opcional) Encerrar los indicadores entre corchetes [] . Varios indicadores están separados por comas.
Indicador
Descripción
'nocase|NC'
No hay caso.
Este indicador hace que la prueba no distinga entre mayúsculas y minúsculas, es decir, no hay diferencia entre 'A-Z' y 'a-z' tanto en la cadena de prueba expandida como en el modelo de condPattern.
'ornext|OR'
O condición siguiente.
Utilice este indicador para combinar las condiciones de regla con un O local en lugar del Y implícito. Sin este indicador, tendría que escribir el cond/regla varias veces.
Ejemplo
Algunas páginas Web asignan una variable CGI "sessionid" la primera vez que un visitante llega a un sitio. Esta variable se utiliza para identificar al visitante y, a medida que el visitante navega por el sitio, se pasa la variable. Dado que el robot de búsqueda se parece a un visitante del sitio, se le asigna un número "sessionid". El robot de búsqueda mantiene este único valor "sessionid", incluso si una segunda página del sitio intenta asignar un nuevo valor. Para garantizar esto, necesita dos reglas de reescritura.
La primera regla se utiliza para identificar y almacenar la variable sessionid:
RewriteCond  %{sessionid}  !.+ 
RewriteRule  ^.+sessionid= 
<b>([^&#]+)</b>.*$  -   
<i>[E=sessionid:$1]</i>

RewriteRule utiliza un indicador E ([E=sessionid:$1]) para asignar el valor actual del parámetro CGI sessionid a la variable sessionid . La $1 referencia hace referencia a la primera referencia, que se encuentra entre el primer conjunto de paréntesis del patrón de RewriteRule ([^&#]+) .
La expresión regular ^&#]+ coincide con la parte de una dirección URL entre la palabra sessionid y el siguiente carácter**& o #**s. Dado que esta regla de reescritura solo se utiliza para crear el valor inicial de la variable sessionid, no se reescribe. Tenga en cuenta que el campo Sustitución de la regla está establecido en - para indicar que no se requiere reescritura.
RewriteCond examina la variable sessionid ( %{sessionid} ). Si ni siquiera tiene un solo carácter (!.+), entonces la regla de reescritura coincide.
Con esta regla, la dirección URL se lee https://www.domain.com/home/?sessionid=1234&function=start y asigna el valor 1234 a la variable sessionid .
La segunda regla se utiliza para reescribir todas las direcciones URL que coincidan con el siguiente patrón RewriteRule:
RewriteRule   
<b>^(.+)</b>sessionid=[^&#]+ 
<i>(.*)$</i>  $1sessionid=%{sessionid}$2

El patrón RewriteRule contiene dos referencias atrás: (.+) y (.*) . La primera referencia inversa coincide con todos los caracteres anteriores sessionid . La segunda referencia inversa coincide con todos los caracteres posteriores a la finalización & o # .
El patrón de sustitución vuelve a escribir la dirección URL utilizando la primera referencia, seguida de la cadena "sessionid=", seguida del valor de la variable de ID de sesión definida por la primera regla %{sessionid} , seguida de la segunda referencia. ($1sessionid=%{sessionid} $2)
Tenga en cuenta que esta RewriteRule no contiene un RewriteCond. Como tal, provoca una reescritura para todas las direcciones URL que coinciden con el patrón RewriteRule. Por lo tanto, si el valor de la variable sessionid ( %{sessionid} ) es 1234 , una dirección URL del formulario https://www.domain.com/products/?sessionid=5678&function=buy se reescribe como https://www.domain.com/products/?sessionid=1234&function=buy

Reconocimiento

El software del motor de reescritura fue originalmente desarrollado por el Grupo Apache para su uso en el proyecto del servidor Apache HTTP (https://www.apache.org/).

Agregar una lista de rastreo para recuperar reglas de URL

Puede agregar reglas de URL de recuperación de lista de rastreo para especificar cómo se reescriben las direcciones URL encontradas dentro del contenido web. Recuperar reglas de reescritura solo es necesario si las direcciones URL contienen datos dinámicos, como un ID de sesión, y si los datos dinámicos cambian con el tiempo para seguir siendo válidos.
Para agregar una lista de rastreo, recupere las reglas de URL
  1. En el menú de producto, haga clic en Settings > Rewrite Rules > Crawl List Retrieve URL Rules .
  2. En el Crawl List Retrieve URL Rules campo, introduzca las reglas que desee.
    Se permiten líneas en blanco y líneas de comentarios que comienzan con un carácter '#' (hash).
  3. (Opcional) En la Crawl List Retrieve URL Rules página, en el Test Crawl List Retrieve URL Rules campo, escriba una dirección URL de prueba cuyas reglas de rastreo desee probar y, a continuación, haga clic en Prueba .
  4. Haga clic en Guardar cambios .
  5. (Opcional) Si desea obtener una vista previa de los resultados, vuelva a generar el índice del sitio escalonado.
  6. (Opcional) En la Crawl List Retrieve URL Rules página, realice una de las siguientes acciones:

Acerca de las reglas de título de rastreo

Las reglas de título de rastreo especifican cómo se reescriben los títulos encontrados dentro del contenido web antes de que se almacenen en el índice de búsqueda.
Por ejemplo, puede utilizar una regla de reescritura para eliminar una parte de un título, como un nombre de organización. A medida que se rastrea un sitio web, los títulos encontrados se almacenan en un búfer temporal. Sin embargo, antes de agregar un título a este búfer, se le aplican las reglas de título. De forma predeterminada, la búsqueda o comercialización del sitio no tiene reglas de título de rastreo y no realiza modificaciones de título.
Antes de que los clientes vean los efectos de las reglas, vuelva a generar el índice del sitio.
Puede revertir rápidamente cualquier cambio que realice en las reglas de título de rastreo mediante la función Historial.
Las reglas pueden constar de dos elementos principales: RewriteRule y el RewriteCond opcional. Puede especificar un número ilimitado de reglas y condiciones. El orden de estas reglas es importante porque el conjunto de reglas se crea en bucle mediante regla por regla. Cuando una regla coincide, recorre en bucle cualquier condición de reescritura correspondiente (opcional). Las reglas de URL de rastreo se especifican de la siguiente manera:
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i> 
 
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i>

Cuando se encuentra un título, el robot de búsqueda intenta hacer coincidir el título con el Patrón de cada regla de rastreo. Si el patrón coincide, el motor de reescritura busca las directivas RewriteCond correspondientes. Si no hay condiciones, la dirección URL se sustituye por un nuevo valor creado a partir de la cadena Sustitución y continúa con la siguiente regla del conjunto de reglas. Si existen condiciones, se procesan en el orden en que aparecen en la lista. El motor de reescritura intenta hacer coincidir un patrón de condición (CondPattern) con una cadena de prueba (TestString). Si las dos coincidencias, la siguiente condición se procesa hasta que no haya más condiciones disponibles. Si todas las condiciones coinciden, la dirección URL se reemplaza por la sustitución especificada en la regla. Si no se cumple la condición, se produce un error en el conjunto completo de condiciones y en la regla correspondiente.
Introduzca las reglas de URL de rastreo en el cuadro de texto y, a continuación, haga clic en Guardar cambios. Se permiten líneas en blanco y líneas de comentarios que comienzan con un carácter '#' (hash). Para probar las reglas de búsqueda, puede introducir una URL de prueba en el cuadro de texto "Probar reglas de reescritura" y, a continuación, hacer clic en Probar.

Directiva RewriteRule

Cada directiva RewriteRule define una regla de reescritura. Las reglas se aplican en el orden en que aparecen en la lista. Una regla de reescritura adopta la forma siguiente:
RewriteRule Pattern Substitution [Flags]

El patrón puede ser una expresión regular POSIX, que se aplica al título actual. El "título actual" difiere del título original, ya que las reglas anteriores ya lo han hecho y lo han modificado.
Consulte Expresiones regulares .
Puede usar el carácter "no" ('!') para prefijar el patrón. El carácter "no" permite negar un patrón, es decir, que sea verdadero sólo si el título actual NO coincide con el patrón. El carácter "no" se puede utilizar cuando es mejor que coincida con un patrón negativo o como regla predeterminada final. Nota: No se pueden usar tanto el carácter "no" como los comodines agrupados en un patrón. Además, no puede utilizar un patrón negado cuando la cadena de sustitución contiene $N.
Puede utilizar paréntesis para crear una referencia secundaria, a la que pueden hacer referencia la sustitución y el patrón de cond.
Sustitución El título se sustituye por la cadena de sustitución. La cadena puede contener lo siguiente:
Texto sin formato: texto que se pasa sin modificar.
Las referencias anteriores proporcionan acceso a las partes agrupadas (entre paréntesis) del Patrón o CondPattern. Los siguientes son dos tipos de referencias secundarias:
  • ReferenciasDeReescrituraDeReglas
    Coinciden con referencias anteriores en el patrón RewriteRule correspondiente y toman la forma $N (0 <= N <= 9). Por ejemplo, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • RewriteCond BackReferences
    Estas referencias anteriores de coincidencia en el último modelo de cond de RewriteCond coincidente y toman la forma %N (0 <= N <= 9).
Variables Son variables con el formato % donde NAME_OF_VARIABLE puede ser una cadena para el nombre de una variable definida. Consulte el [E] indicador para obtener más información sobre la configuración de variables de entorno.
Funciones Estas son funciones del formulario $ donde NAME_OF_FUNCTION es:
  • el operador hace que todos los caracteres de la tecla estén en minúsculas.
  • toupper escribe todos los caracteres en clave en mayúsculas.
Hay una cadena de sustitución especial: '-' que significa "NO sustitución". La cadena '-' suele ser útil con el indicador C (cadena), lo que le permite hacer coincidir un título con varios patrones antes de que se produzca una sustitución.
Indicadores (opcional)
Los indicadores están entre corchetes [] y los indicadores múltiples están separados por comas:
Indicador
Descripción
'last|L'
Última regla.
Detiene el proceso de reescritura y no aplica ninguna regla de reescritura adicional. Utilice este indicador para evitar que se procese más en el título actual.
'next|N'
Próxima ronda.
Vuelve a ejecutar el proceso de reescritura (comenzando de nuevo con la primera regla de reescritura) utilizando el título de la última regla de reescritura, no el título original. Tenga cuidado de no crear un bucle muerto.
'chain|C'
Encadenado con la siguiente regla.
Encadena la regla actual a la siguiente regla (que también se puede encadenar a la siguiente regla, etc.). Si una regla coincide, el proceso de sustitución continúa como de costumbre. Si la regla no coincide, se omiten todas las reglas encadenadas subsiguientes.
'nocase|NC'
No hay caso.
Hace que el Patrón no distinga entre mayúsculas y minúsculas (es decir, no hay diferencia entre 'A-Z' y 'a-z') cuando el patrón se compara con el título actual.
'omitir|S=num'
Omitir regla o reglas siguientes.
Si la regla actual coincide, este indicador fuerza al motor de reescritura a omitir las siguientes reglas de núm en el conjunto de reglas. Utilice esto para crear construcciones pseudo if-then-else. La última regla de la cláusula then se convierte en un valor Skit=N donde N es el número de reglas de la cláusula else. (Nota: ¡Esto no es lo mismo que la bandera 'chain|C'!)
'env|E=VAR:VAL'
Configure la variable de entorno.
Crea una variable ambiental "VAR" establecida en el valor VAL, donde VAL puede contener referencias anteriores de expresiones regulares, $N y %N, que se expande. Puede utilizar este indicador más de una vez para establecer varias variables. Más adelante se puede hacer referencia a las variables en el siguiente patrón RewriteCond mediante %{VAR}. Utilice este indicador para eliminar y recordar información de los títulos.

Directiva RewriteCond (opcional)

La directiva RewriteCond define una condición de regla. Cuando RewriteCond precede a una RewriteRule, la regla solo se utiliza si su patrón coincide con el título actual y se aplican las condiciones adicionales.
Las directivas de condiciones de reescritura tienen la siguiente forma:
RewriteCond TestString CondPattern [Flags] 

TestString es una cadena que puede contener las siguientes construcciones:
Texto sin formato: texto que se pasa sin modificar.
Las referencias anteriores proporcionan acceso a las partes agrupadas (entre paréntesis) del Patrón o CondPattern. Existen dos tipos de referencias secundarias:
  • Reescribir referencias de regla Estas referencias de coincidencia son referencias anteriores en el patrón de reglas de reescritura correspondiente y tienen la forma $N (0 <= N <= 9). Por ejemplo, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • Reescribir referencias anteriores de Cond Estas referencias de coincidencia coinciden en el último CondPattern de RewriteCond coincidente y tienen la forma %N (0 <= N <= 9).
Variables Son variables con el formato % donde NAME_OF_VARIABLE puede ser una cadena para el nombre de una variable definida. Consulte el [E] indicador para obtener más información sobre la configuración de variables de entorno.
Funciones Estas son funciones del formulario $ donde NAME_OF_FUNCTION es:
  • el operador hace que todos los caracteres de la tecla estén en minúsculas.
  • toupper escribe todos los caracteres en clave en mayúsculas.
  • escape URL-codifica todos los caracteres de la clave.
  • Los caracteres 'a'..'z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' y '_' se dejan sin cambios, los espacios se traducen a '+' y todos los demás caracteres se transforman en su equivalente con codificación URL %xx.
  • unescape vuelve a transformar '+' en espacio y todos los caracteres con codificación URL %xx en caracteres únicos.
CondPattern es una expresión regular extendida estándar con algunas adiciones. La cadena de patrón puede tener el prefijo '!' carácter (signo de exclamación) para especificar un patrón no coincidente. En lugar de cadenas de expresión regulares reales, puede utilizar una de las siguientes variantes especiales.
Puede anteponer todas estas pruebas con un signo de exclamación ('!') para negar su significado.
Cadena CondPattern
Descripción
'<CondPattern'
Es lexicamente menos.
Trata el CondPattern como una cadena sin formato y lo compara léxicamente con TestString . True si TestString es lexicamente menor que CondPattern .
'>CondPattern'
Es bueno lexicamente.
Trata el CondPattern como una cadena sin formato y lo compara léxicamente con TestString . True si TestString es bueno léxicamente que CondPattern .
'=CondPattern'
Es lexicamente igual.
Trata el CondPattern como una cadena sin formato y lo compara léxicamente con TestString . True si TestString es lexicamente igual a CondPattern , es decir, las dos cadenas son exactamente iguales (carácter por carácter). Si CondPattern es sólo "" (dos comillas), se compara TestString con la cadena vacía.
Indicadores (opcional)
Los indicadores están entre corchetes [] y los indicadores múltiples están separados por comas:
Indicador
Descripción
'nocase|NC'
No hay caso.
Hace que la prueba no sea sensible. Es decir, no hay diferencia entre 'A-Z' y 'a-z' tanto en la cadena de pruebas expandida como en el patrónDeCond.
'ornext|OR'
O condición siguiente.
Utilice este indicador para combinar las condiciones de regla con un O local en lugar del Y implícito. Sin este indicador, tendría que escribir el cond/regla varias veces.
Ejemplo
Supongamos que tiene un sitio Web corporativo con un formato de título estándar: "Mi empresa" seguida de un guión y después de una descripción específica de la página ("Mi empresa - Bienvenida" o "Mi empresa - Noticias", por ejemplo). Desea eliminar "Mi empresa -" del título y convertir todo el título en letras mayúsculas cuando indexe el sitio.
La regla de reescritura siguiente utiliza el cargador de funciones para reescribir solo la parte descriptiva de un título en mayúsculas:
RewriteRule  ^My[[:blank:]]Company[[:blank:]]-[[:blank:]] 
<b>(.*)</b>$  ${toupper: 
<b>$1</b>}

El patrón de la regla (^My[[:blank:]]Company[[:blank:]]-[[:blank:]] (.*)) contiene una referencia (.*) que coincide con el contenido del título que sigue a "Mi empresa-". Recuerde que rodear una parte de un patrón con paréntesis ( ) crea una referencia inversa a la que la sustitución puede hacer referencia. En este ejemplo, la sustitución (${toupper: $1 }) vuelve a escribir esa referencia ( $1 ) usando la función toupper.
Por lo tanto, el título del formulario "Mi empresa - Bienvenida" se reescribe como "BIENVENIDO".
Reconocimiento
El software del motor de reescritura fue originalmente desarrollado por el Grupo Apache para su uso en el proyecto del servidor Apache HTTP (https://www.apache.org/).

Adición de reglas de título de rastreo

Puede agregar reglas de título de rastreo para especificar cómo se reescriben los títulos encontrados dentro del contenido web antes de que se almacenen en el índice de búsqueda.
Para agregar reglas de título de rastreo
  1. En el menú de producto, haga clic en Settings > Rewrite Rules > Crawl Title Rules .
  2. En el Crawl Title Rules campo, introduzca las reglas que desee.
    Se permiten líneas en blanco y líneas de comentarios que comienzan con un carácter '#' (hash).
  3. (Opcional) En la Crawl Title Rules página, en el Test Crawl Title Rules campo, escriba una dirección URL de prueba cuyas reglas de búsqueda desee probar y, a continuación, haga clic en Prueba .
  4. Haga clic en Guardar cambios .
  5. (Opcional) Si desea obtener una vista previa de los resultados, vuelva a generar el índice del sitio escalonado.
  6. (Opcional) En la Crawl Title Rules página, realice una de las siguientes acciones:

Acerca de las reglas de URL de búsqueda

Las reglas de URL de búsqueda especifican cómo deben mostrarse las direcciones URL en los resultados de búsqueda del sitio web. Las reglas funcionan con direcciones URL completas. Se puede manipular cualquier parte de la dirección URL, incluidos los argumentos de consulta en los que la información de ID de sesión se suele guardar.
Normalmente, las reglas de URL de búsqueda se utilizan para insertar un ID de sesión en una dirección URL. Sin embargo, también puede utilizar las reglas de URL de búsqueda para alterar el nombre de dominio que se muestra con los resultados. De forma predeterminada, no se especifican reglas y no se realiza ninguna modificación de la dirección URL.
Las reglas de URL de búsqueda pueden constar de dos elementos principales: RewriteRule y el RewriteCond opcional. Cuando se incluye una dirección URL como parte de un resultado de búsqueda, las reglas se utilizan para manipularla. Puede especificar un número ilimitado de reglas y condiciones de URL de búsqueda. El orden de estas reglas es importante porque el conjunto de reglas se crea en bucle mediante regla por regla. Cuando una regla coincide, el software recorre en bucle cualquier condición de reescritura correspondiente (opcional). Las reglas de URL de rastreo se especifican de la siguiente manera:
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i> 
 
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i>

Al procesar una dirección URL, la búsqueda/comercialización del sitio intenta relacionarla con el patrón de cada regla de búsqueda. Si la coincidencia falla, el motor de reescritura detiene inmediatamente el procesamiento de la regla y continúa con la siguiente regla del conjunto. Si el patrón coincide, el motor de reescritura busca las instrucciones de RewriteCond correspondientes. Si no hay condiciones, la dirección URL se sustituye por un nuevo valor. Este valor se construye a partir de la cadena Sustitución y continúa con la siguiente regla del conjunto de reglas. Si existen condiciones, el orden en que aparecen es cómo se procesan. El motor de reescritura intenta hacer coincidir un patrón de condición (CondPattern) con una cadena de prueba (TestString). Si las dos coincidencias, la siguiente condición se procesa hasta que no haya más condiciones disponibles. Si todas las condiciones coinciden, la dirección URL se reemplaza por la sustitución especificada en la regla. Si no se cumple la condición, se produce un error en el conjunto completo de condiciones y en la regla correspondiente.

Acerca de la directiva RewriteRule

Una regla de reescritura adopta la forma siguiente:
RewriteRule  
<i>Pattern Substitution [Flags]</i>

El patrón puede ser una expresión regular POSIX, que se aplica a la dirección URL actual. La "dirección URL actual" puede diferir de la dirección URL original, ya que es posible que las reglas anteriores ya la hayan coincidido y modificado.
Consulte Expresiones regulares .
Puede usar el carácter "no" ('!') para prefijar el patrón. El carácter "no" permite negar un patrón. En otras palabras, es true sólo si la dirección URL actual NO coincide con el patrón. Puede utilizar el carácter "no" cuando sea mejor que coincida con un patrón negativo o como regla predeterminada final. Tenga en cuenta que no se pueden usar tanto el carácter "no" como los comodines agrupados en un patrón. Además, no puede utilizar un patrón negado cuando la cadena de sustitución contiene $N.
Puede utilizar paréntesis para crear una referencia secundaria, a la que pueden hacer referencia la sustitución y el patrón de cond.
Sustitución La URL se sustituye completamente por la cadena de sustitución, que puede contener lo siguiente:
Texto sin formato: texto que se pasa sin modificar.
Referencias posteriores Proporciona acceso a las partes agrupadas (entre paréntesis) del Patrón o CondPattern. Existen dos tipos de referencias secundarias:
Reescribir referencias de regla Estas referencias de coincidencia son referencias anteriores en el patrón de reglas de reescritura correspondiente y tienen la forma $N (0 <= N <= 9). Por ejemplo, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
Referencias posteriores de RewriteCond: estas referencias anteriores de coincidencia en el último CondPattern de RewriteCond coincidente y tienen la forma %N (0 <= N <= 9).
Funciones: Estas son funciones del formulario $ donde NAME_OF_FUNCTION es:
  • el operador hace que todos los caracteres de la tecla estén en minúsculas.
  • toupper escribe todos los caracteres en clave en mayúsculas.
  • escape URL-codifica todos los caracteres de la clave .
  • Los caracteres 'a'..'z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' y '_' se dejan sin cambios; los espacios se traducen a '+'; todos los demás caracteres se transforman en su equivalente con codificación URL %xx.
  • unescape vuelve a transformar '+' en espacio y todos los caracteres con codificación URL %xx en caracteres únicos.
Hay una cadena de sustitución especial: '-' que significa "NO sustitución". La cadena '-' suele ser útil junto con el indicador C (cadena). Permite hacer coincidir una dirección URL con varios patrones antes de que se produzca una sustitución.
Indicadores (opcional)
Los indicadores están entre corchetes [] y los indicadores múltiples están separados por comas:
Indicador
Descripción
'last|L'
Última regla.
Detenga el proceso de reescritura y no aplique ninguna regla de reescritura adicional. Use este indicador para evitar que se siga procesando la dirección URL actual.
'next|N'
Próxima ronda.
Vuelva a ejecutar el proceso de reescritura (comenzando de nuevo con la primera regla de reescritura) utilizando la dirección URL de la última regla de reescritura (no la dirección URL original). ¡Ten cuidado de no crear un bucle muerto!
'chain|C'
Encadenado con la siguiente regla.
Este indicador encadena la regla actual a la siguiente regla, que también se puede encadenar a la siguiente regla, etc. Si una regla coincide, el proceso de sustitución continúa como de costumbre. Si la regla no coincide, se omiten todas las reglas encadenadas subsiguientes.
'nocase|NC'
No hay caso.
Este indicador distingue entre mayúsculas y minúsculas en el Patrón. En otras palabras, no hay diferencia entre 'A-Z' y 'a-z' cuando el patrón se compara con la dirección URL actual.
'omitir|S=num'
Omitir regla o reglas siguientes.
Si la regla actual coincide, este indicador fuerza al motor de reescritura a omitir las siguientes reglas de núm en el conjunto de reglas. Utilice esto para crear construcciones pseudo if-then-else. La última regla de la cláusula then se convierte en un valor Skit=N donde N es el número de reglas de la cláusula else. (Nota: ¡Esto no es lo mismo que la bandera 'chain|C'!)
'env|E=VAR:VAL'
Configure la variable de entorno.
Este indicador crea una variable ambiental "VAR" establecida en el valor VAL. VAL puede contener referencias atrás de expresiones regulares, $N y %N, que se expanden. Puede utilizar este indicador más de una vez para establecer varias variables. Posteriormente se puede anular la referencia a las variables en un patrón RewriteCond siguiente mediante %{VAR}. Utilice este indicador para eliminar y recordar información de las direcciones URL.
Tenga en cuenta que las reglas de reescritura de almacenamiento y las reglas de recuperación de reescritura comparten valores de variables. Debido a esto, puede establecer una variable en un valor session-id que distinga el tiempo cuando se encuentre y almacene una URL incrustada. Cuando se recupera la siguiente dirección URL de la lista de almacenamiento temporal, se puede agregar el valor de identificación de sesión más reciente antes de recuperar esa página.
Ejemplo
Supongamos que tiene un servidor que distingue entre mayúsculas y minúsculas. Maneja las cadenas "www.mydomain.com" y "www.MyDomain.com" de forma diferente. Para que el servidor funcione correctamente, debe asegurarse de que el dominio sea siempre "www.mydomain.com" aunque algunos documentos contengan vínculos que hagan referencia a "www.MyDomain.com". Para ello, puede utilizar la siguiente regla:
RewriteRule  ^https:// 
<b>([^/]*)</b> 
<i>(.*)</i>$  https://${tolower:$1}$2 

Esta regla de reescritura utiliza la función "tolower" para reescribir la parte de dominio de una dirección URL para asegurarse de que siempre esté en minúsculas:
  1. El patrón (^https://([^/]*)(.*)$) contiene una referencia ([^/]*) que coincide con todos los caracteres entre "https://" y el primer "/" en la dirección URL. El patrón también contiene una segunda referencia (.*) que coincide con todos los caracteres restantes de la dirección URL.
  2. La sustitución (https://${tolower:$1}$2) indica al motor de búsqueda que vuelva a escribir la dirección URL utilizando la función Tolower en la primera referencia anterior (https://**${tolower:$1**}$2) dejando el resto de la dirección URL intacto (https://${tolower:$1}*$2*) .
Por lo tanto, una dirección URL del formulario https://www.MyDomain.com/INTRO/index.Html se reescribe como https://www.mydomain.com/INTRO/index.Html
Directiva RewriteCond (opcional)
La directiva RewriteCond define una condición de regla. Cuando RewriteCond precede a una RewriteRule, la regla solo se utiliza si su patrón coincide con el título actual y se aplican las condiciones adicionales.
Las directivas de condiciones de reescritura tienen la siguiente forma:
RewriteCond  
<i>TestString CondPattern [Flags]</i>

TestString es una cadena que puede contener las siguientes construcciones:
Texto sin formato: Texto que se pasa sin modificar.
Las referencias anteriores proporcionan acceso a las partes agrupadas (entre paréntesis) del Patrón o CondPattern. Existen dos tipos de referencias secundarias:
  • ** RewriteRule BackReferences** Estas referencias anteriores coinciden en el patrón RewriteRule correspondiente y toman la forma $N (0 <= N <= 9). Por ejemplo, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • RewriteCond Referencias Estas referencias anteriores de coincidencia en el último CondPattern de RewriteCond coincidente y tienen la forma %N (0 <= N <= 9).
Variables Son variables con el formato % donde NAME_OF_VARIABLE puede ser una cadena para el nombre de una variable definida. Consulte el indicador RewriteRule [E] para obtener más información sobre la configuración de variables.
Las reglas de reescritura generalmente utilizan variables. Todos los parámetros CGI de la dirección URL actual se convierten automáticamente en variables. Por ejemplo: la dirección URL de búsqueda "https://search.atomz.com/search/?sp_a=sp00000000&sp_q="Product"&session=1234&id=5678" proporcionará automáticamente cuatro variables, a las que se puede hacer referencia en las reglas de reescritura. En este ejemplo, una variable se denomina "session" y su valor es "1234", mientras que otra variable se denomina "id" y su valor es "5678". (Las otras dos variables son sp_a y sp_q ). Debe pasar todas las variables necesarias como campos ocultos desde el formulario de búsqueda en la página Web. En este ejemplo, debe pasar los valores "session" e "id", que identifican al usuario del sitio Web que realiza la búsqueda. Para pasar un campo oculto en el formulario de búsqueda, utilice una etiqueta como <input type=hidden name="session" value="1234"> .
Funciones Estas son funciones del formulario $ donde NAME_OF_FUNCTION es:
  • el operador hace que todos los caracteres de la tecla estén en minúsculas.
  • toupper escribe todos los caracteres en clave en mayúsculas.
  • escape URL-codifica todos los caracteres de la clave . Los caracteres 'a'..'z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' y '_' se dejan sin cambios, los espacios se traducen a '+' y todos los demás caracteres se transforman en su equivalente con codificación URL %xx.
  • unescape transforma '+' de nuevo al espacio y todos los caracteres de codificación de URL %xx vuelven a codificarse en caracteres únicos.
CondPattern es una expresión regular extendida estándar con algunas adiciones. La cadena de patrón puede tener el prefijo '!' carácter (signo de exclamación) para especificar un patrón no coincidente. En lugar de cadenas de expresión regulares reales, puede utilizar una de las siguientes variantes especiales.
Puede anteponer todas estas pruebas utilizando un signo de exclamación ('!') para negar su significado.
Cadena CondPattern
Descripción
'<CondPattern'
Es lexicamente menos.
Trata el CondPattern como una cadena sin formato y lo compara léxicamente con TestString . True si TestString es lexicamente menor que CondPattern .
'>CondPattern'
Es bueno lexicamente.
Trata el CondPattern como una cadena sin formato y lo compara léxicamente con TestString . True si TestString es bueno léxicamente que CondPattern .
'=CondPattern'
Es lexicamente igual.
Trata el CondPattern como una cadena sin formato y lo compara léxicamente con TestString . True si TestString es lexicamente igual a CondPattern . Es decir, las dos cadenas son exactamente iguales (carácter por carácter). Si CondPattern es sólo "" (dos comillas), se compara TestString con la cadena vacía.
Indicadores (opcional)
Los indicadores están entre corchetes [] y los indicadores múltiples están separados por comas:
'nocase|NC' (sin caso): Esto hace que la prueba no distinga entre mayúsculas y minúsculas. En otras palabras, no hay diferencia entre 'A-Z' y 'a-z' tanto en el TestString expandido como en el CondPattern .
'ornext|OR' (o condición siguiente): Utilice esto para combinar las condiciones de regla con un O local en lugar del Y implícito. Sin este indicador, tendría que escribir el cond/regla varias veces.
Ejemplo
Algunas páginas Web asignan una variable CGI "sessionid" la primera vez que un cliente llega a un sitio. Esta variable se utiliza para identificar al cliente y, a medida que el cliente navega por el sitio, se pasa la variable. Dado que el robot de búsqueda se parece a un cliente del sitio, se le asigna un número "sessionid". El robot de búsqueda mantiene este único valor "sessionid", incluso si una segunda página del sitio intenta asignar un nuevo valor. Para garantizar esto, necesita la siguiente regla de reescritura:
RewriteCond  %{sessionid}  .+ 
RewriteRule  ^ 
<b>(.+)</b>sessionid=[^&#]+ 
<i>(.*)</i>$   
<b>$1</b>sessionid=%{sessionid} 
<i>$2</i>

El patrón RewriteRule contiene dos referencias atrás: (.+) y (.*). La primera referencia inversa coincide con todos los caracteres anteriores a "sessionid=". La segunda referencia inversa coincide con todos los caracteres después de que el identificador de sesión termine con '&' o '#'.
El patrón de sustitución vuelve a escribir la dirección URL utilizando la primera referencia, seguida de la cadena "sessionid=", seguida del valor de la variable de ID de sesión, que se pasó como un parámetro CGI en la dirección URL, seguido de la segunda referencia. ($1sessionid=%{sessionid}$2) .
El RewriteCond examina la variable sessionid (%{sessionid}) . Si contiene al menos un carácter (.+), entonces la regla de reescritura coincide.
Por lo tanto, si la consulta de búsqueda es "https://search.atomz.com/search/?sp_a=sp99999999&sp_q=word&sessionid=5678" , todas las direcciones URL de los resultados de búsqueda se reescribirán de modo que el valor "sessionid" sea "5678" en lugar del valor "sessionid" que encontró el robot de búsqueda cuando rastreó el sitio y guardó los vínculos.
Reconocimiento
El software del motor de reescritura fue originalmente desarrollado por el Grupo Apache para su uso en el proyecto del servidor Apache HTTP (https://www.apache.org/).

Adición de reglas de URL de búsqueda

Puede agregar reglas de URL de búsqueda para especificar cómo se muestran las direcciones URL en los resultados de búsqueda del sitio web. Las reglas funcionan con direcciones URL completas. Puede manipular cualquier porción de la dirección URL, incluidos los argumentos de consulta en los que la información de ID de sesión se guarda con frecuencia.
Para agregar reglas de URL de búsqueda
  1. En el menú de producto, haga clic en Settings > Rewrite Rules > Search URL Rules .
  2. En el Search URL Rules campo, introduzca las reglas que desee.
    Se permiten líneas en blanco y líneas de comentarios que comienzan con un carácter '#' (hash).
  3. (Opcional) En la Search URL Rules página, en el Test Search URL Rules campo, escriba una dirección URL de prueba cuyas reglas de rastreo desee probar y, a continuación, haga clic en Prueba .
  4. Haga clic en Guardar cambios .
  5. (Opcional) Si desea obtener una vista previa de los resultados, vuelva a generar el índice del sitio escalonado.
  6. (Opcional) En la Search URL Rules página, realice una de las siguientes acciones:

Acerca de las reglas de título de búsqueda

Las reglas de título de búsqueda especifican cómo se muestran los títulos en los resultados de búsqueda del sitio web. Se puede manipular cualquier parte del título.
Se puede usar una regla de reescritura para eliminar una parte de un título, como un nombre de organización, por ejemplo. De forma predeterminada, la búsqueda/comercialización del sitio no tiene reglas de título y no realiza modificaciones de título.
Las reglas de título pueden constar de dos elementos principales: RewriteRule y RewriteCond opcional. Se puede especificar un número ilimitado de reglas y condiciones. El orden de estas reglas es importante, ya que el conjunto de reglas se crea en bucle mediante regla por regla. Cuando una regla coincide, el software recorre en bucle cualquier condición de reescritura correspondiente (opcional). Las reglas de título de búsqueda se especifican de la siguiente manera:
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i> 
 
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i>

Cuando se encuentra un título, la búsqueda o comercialización del sitio intenta relacionarlo con el patrón de cada regla de rastreo. Si el patrón coincide, el motor de reescritura busca las directivas RewriteCond correspondientes. Si no hay condiciones, el título se sustituye por un nuevo valor construido a partir de la cadena Sustitución y continúa con la siguiente regla del conjunto de reglas. Si existen condiciones, se procesan en el orden en que aparecen en la lista. El motor de reescritura intenta hacer coincidir un patrón de condición (CondPattern) con una cadena de prueba (TestString). Si las dos coincidencias, la siguiente condición se procesa hasta que no haya más condiciones disponibles. Si todas las condiciones coinciden, la dirección URL se reemplaza por la sustitución especificada en la regla. Si no se cumple la condición, se produce un error en el conjunto completo de condiciones y en la regla correspondiente.

Directiva RewriteRule

Cada directiva RewriteRule define una regla de reescritura. Las reglas se aplican en el orden en que aparecen en la lista. Una regla de reescritura adopta la forma siguiente:
RewriteRule Pattern Substitution [Flags]

Patrón Expresión regular POSIX, que se aplica al título actual. El "título actual" puede diferir del título original, ya que es posible que las reglas anteriores ya lo hayan hecho y lo hayan modificado.
Consulte Expresiones regulares .
Puede usar el carácter "no" ('!') para prefijar el patrón. El carácter "no" permite negar un patrón. Es decir, que sea verdadero sólo si el título actual NO coincide con el patrón. El carácter "no" se puede utilizar cuando es mejor que coincida con un patrón negativo o como regla predeterminada final. Nota: No se pueden usar tanto el carácter "no" como los comodines agrupados en un patrón. Además, no puede utilizar un patrón negado cuando la cadena de sustitución contiene $N.
Puede utilizar paréntesis para crear una referencia secundaria, a la que pueden hacer referencia la sustitución y el patrón de cond.
Sustitución El título se sustituye completamente por la cadena de sustitución, que puede contener lo siguiente:
Texto sin formato: texto que se pasa sin modificar.
Referencias de fondo Proporciona acceso a las partes agrupadas (entre paréntesis) del Patrón o CondPattern. Los siguientes son dos tipos de referencias secundarias:
  • Referencias de reglas de reescritura Estas referencias de coincidencia son referencias anteriores en el patrón de reglas de reescritura correspondiente y tienen la forma $N (0 <= N <= 9). Por ejemplo, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • ** RewriteCond Referencias anteriores** Estas referencias anteriores de coincidencia en el último CondPattern de RewriteCond coincidente y toman la forma %N (0 <= N <= 9).
Variables Son variables con el formato % donde NAME_OF_VARIABLE puede ser una cadena para el nombre de una variable definida. Consulte el indicador # para obtener más información sobre la configuración de variables de entorno. Las variables también se pueden definir en el formulario de búsqueda que generó los resultados de la búsqueda.
Funciones Estas son funciones del formulario $ donde NAME_OF_FUNCTION es:
  • el operador hace que todos los caracteres de la tecla estén en minúsculas.
  • toupper escribe todos los caracteres en clave en mayúsculas.
Hay una cadena de sustitución especial: '-' que significa "NO sustitución". La cadena '-' suele ser útil junto con el indicador C (cadena), lo que le permite hacer coincidir un título con varios patrones antes de que se produzca una sustitución.
Indicadores (opcional)
Los indicadores están entre corchetes [] y los indicadores múltiples están separados por comas:
Indicador
Descripción
'last|L'
Última regla.
Detenga el proceso de reescritura y no aplique ninguna regla de reescritura adicional. Utilice este indicador para evitar que se procese más en el título actual.
'next|N'
Próxima ronda.
Vuelva a ejecutar el proceso de reescritura (comenzando de nuevo con la primera regla de reescritura) utilizando el título de la última regla de reescritura (¡no el título original!). Tenga cuidado de no crear un bucle muerto.
'chain|C'
Encadenado con la siguiente regla.
Este indicador encadena la regla actual a la siguiente regla (que también se puede encadenar a la siguiente regla, etc.). Si una regla coincide, el proceso de sustitución continúa como de costumbre. Si la regla no coincide, se omiten todas las reglas encadenadas subsiguientes.
'nocase|NC'
No hay caso.
Este indicador distingue entre mayúsculas y minúsculas en el Patrón. Es decir, no hay diferencia entre 'A-Z' y 'a-z' cuando el patrón se compara con el título actual.
'omitir|S=num'
Omitir regla o reglas siguientes.
Si la regla actual coincide, este indicador fuerza al motor de reescritura a omitir las siguientes reglas de núm en el conjunto de reglas. Utilice esto para crear construcciones pseudo if-then-else. La última regla de la cláusula then se convierte en un valor Skit=N donde N es el número de reglas de la cláusula else. (¡Esto no es lo mismo que la bandera 'chain|C'!)
'env|E=VAR:VAL'
Configure la variable de entorno.
Este indicador crea una variable de entorno "VAR" establecida en el valor VAL, donde VAL puede contener las referencias atrás de expresiones regulares, $N y %N, que se expandirán. Puede utilizar este indicador más de una vez para establecer varias variables. Más adelante se puede hacer referencia a las variables en el siguiente patrón RewriteCond mediante %{VAR}. Utilice este indicador para eliminar y recordar información de los títulos.

Directiva RewriteCond (opcional)

La directiva RewriteCond define una condición de regla. Cuando RewriteCond precede a una RewriteRule, la regla solo se utiliza si su patrón coincide con el título actual y se aplican las condiciones adicionales.
Las directivas de condiciones de reescritura tienen la siguiente forma:
RewriteCond TestString CondPattern [Flags]

TestString es una cadena que puede contener las siguientes construcciones:
Texto sin formato: texto que se pasa sin modificar.
Las referencias anteriores proporcionan acceso a las partes agrupadas (entre paréntesis) del Patrón o CondPattern. Existen dos tipos de referencias secundarias:
  • Referencias de reglas de reescritura Estas referencias de coincidencia son referencias anteriores en el patrón de reglas de reescritura correspondiente y tienen la forma $N (0 <= N <= 9). Por ejemplo, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • RewriteCond Referencias Estas referencias anteriores de coincidencia en el último CondPattern de RewriteCond coincidente y tienen la forma %N (0 <= N <= 9).
Variables Son variables con el formato % donde NAME_OF_VARIABLE puede ser una cadena para el nombre de una variable definida. Consulte el [E] indicador para obtener más información sobre la configuración de variables de entorno. Las variables también se pueden definir en el formulario de búsqueda que generó los resultados de la búsqueda.
Funciones Estas son funciones del formulario $ donde NAME_OF_FUNCTION es:
  • el operador hace que todos los caracteres de la tecla estén en minúsculas.
  • toupper escribe todos los caracteres en clave en mayúsculas.
  • escape URL-codifica todos los caracteres de la clave .
  • Los caracteres 'a'..'z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' y '_' se dejan sin cambios, los espacios se traducen a '+' y todos los demás caracteres se transforman en su equivalente con codificación URL %xx.
  • unescape vuelve a transformar '+' en espacio y todos los caracteres con codificación URL %xx en caracteres únicos.
Hay una cadena de sustitución especial: '-' que significa "NO sustitución". La cadena '-' suele ser útil junto con el indicador C (cadena), lo que permite hacer coincidir una dirección URL con varios patrones antes de que se produzca una sustitución.
CondPattern Expresión regular extendida estándar con algunas adiciones. La cadena de patrón puede tener el prefijo '!' carácter (signo de exclamación) para especificar un patrón no coincidente. En lugar de cadenas de expresión regulares reales, puede utilizar una de las siguientes variantes especiales.
Todas estas pruebas también pueden ir acompañadas de un signo de exclamación ('!') para negar su significado.
Cadena CondPattern
Descripción
'<CondPattern'
Es lexicamente menos.
Trata el CondPattern como una cadena sin formato y lo compara léxicamente con TestString . True si TestString es lexicamente menor que CondPattern .
'>CondPattern'
Es bueno lexicamente.
Trata el CondPattern como una cadena sin formato y lo compara léxicamente con TestString . True si TestString es bueno léxicamente que CondPattern .
'=CondPattern'
Es lexicamente igual.
Trata el CondPattern como una cadena sin formato y lo compara léxicamente con TestString . True si TestString es lexicamente igual a CondPattern . Es decir, las dos cadenas son exactamente iguales (carácter por carácter). Si CondPattern es sólo "" (dos comillas), se compara TestString con la cadena vacía.
Indicadores (opcional)
Los indicadores están entre corchetes [] y los indicadores múltiples están separados por comas:
Indicador
Descripción
'nocase|NC' (sin caso)
Hace que la prueba no sea sensible. Es decir, no hay diferencia entre 'A-Z' y 'a-z' tanto en la cadena de pruebas expandida como en el patrón de cond.
'ornext|OR' (o condición siguiente)
Utilice esto para combinar las condiciones de regla con un O local en lugar del Y implícito. Sin este indicador, tendría que escribir el cond/regla varias veces.

Ejemplo

Supongamos que tiene un sitio Web corporativo con un formato de título estándar: "Mi empresa" seguida de un guión y después de una descripción específica de la página ("Mi empresa - Bienvenida" o "Mi empresa - Noticias", por ejemplo). Desea eliminar "Mi empresa -" del título y convertir todo el título en letras mayúsculas cuando indexe el sitio.
La regla de reescritura siguiente utiliza el cargador de funciones para reescribir solo la parte descriptiva de un título en mayúsculas:
RewriteRule  ^My[[:blank:]]Company[[:blank:]]-[[:blank:]] 
<b>(.*)</b>$  ${toupper: 
<b>$1</b>} 

El patrón de la regla (^My[[:blank:]]Company[[:blank:]]-[[:blank:]] (.*)) contiene una referencia (.*) que coincide con el contenido del título que sigue a "Mi empresa-". Recuerde que rodear una parte de un patrón con paréntesis ( ) crea una referencia inversa a la que la sustitución puede hacer referencia. En este ejemplo, la sustitución (${toupper: $1 }) vuelve a escribir esa referencia ( $1 ) usando la función toupper.
Por lo tanto, el título del formulario "Mi empresa - Bienvenida" se reescribe como "BIENVENIDO".
Reconocimiento
El software del motor de reescritura fue originalmente desarrollado por el Grupo Apache para su uso en el proyecto del servidor Apache HTTP (https://www.apache.org/).

Adición de reglas de título de búsqueda

Puede agregar reglas de título de búsqueda para especificar cómo se muestran los títulos en los resultados de búsqueda del sitio web. Puede manipular cualquier parte del título.
Para agregar reglas de título de búsqueda
  1. En el menú de producto, haga clic en Settings > Rewrite Rules > Search Title Rules .
  2. En el Search Title Rules campo, introduzca las reglas que desee.
    Se permiten líneas en blanco y líneas de comentarios que comienzan con un carácter '#' (hash).
  3. (Opcional) En la Search Title Rules página, en el Test Search Title Rules campo, escriba un título de prueba y, a continuación, haga clic en Prueba .
  4. Haga clic en Guardar cambios .
  5. (Opcional) Si desea obtener una vista previa de los resultados, vuelva a generar el índice del sitio escalonado.
  6. (Opcional) En la Search Title Rules página, realice una de las siguientes acciones: