Todos los productos
Search
Centro de documentos

:Reescritura de URI de origen

Última actualización: Sep 15, 2026

Alibaba Cloud Dynamic Content Delivery Network (DCDN) permite reescribir las URI de origen. La función de reescritura de URI se aplica en los puntos de presencia (POP) de DCDN, sin afectar los servicios internos de DCDN ni las claves de caché. En este tema se describe cómo configurar la reescritura de URL de origen.

Escenarios

Si un recurso del servidor de origen cambia de ubicación, la URI del recurso también cambia. Si las solicitudes de los usuarios utilizan la URI original, DCDN debe reescribir la URL para que las solicitudes se redirijan a la nueva URL.

Por ejemplo, un archivo de imagen se mueve del directorio /download/ al directorio /image/.

Funcionamiento

Los POP comparan las URI de las solicitudes con las URI de los recursos solicitados en el servidor de origen, según las reglas de reescritura de URI. Después, las solicitudes o parámetros específicos de la solicitud se redirigen al servidor de origen.

  • En una regla de reescritura, si establece el parámetro Flag en None o Break, solo se reescribe la ruta del recurso en la URL.1

  • Si establece el parámetro Flag en enhance break, se reescriben la ruta del recurso y la cadena de consulta.2

Notas de uso

  • Puede configurar hasta 50 reglas de origin URI rewrite para cada nombre de dominio.

  • El sistema ejecuta las reglas de reescritura listadas en la pestaña Back-to-origin URL Rewrite de arriba hacia abajo. Un cambio en este orden puede generar un resultado de reescritura distinto.

  • La función origin URI rewrite es diferente de la función rewrite de la página Cache. La función rewrite se aplica en los POP de DCDN, afecta los servicios internos de DCDN y reescribe las claves de caché. La función origin URI rewrite opera en los POP de DCDN que se comunican con los servidores de origen. No afecta los servicios internos de DCDN ni reescribe las claves de caché.

  • Si establece el parámetro Flag de una URI rewrite rule en enhance break, la configuración de reescritura de parámetros puede entrar en conflicto con la función de filtrado de parámetros. Para filtrar parámetros, seleccione Domain Names > Optimization en el panel de navegación izquierdo de la consola de DCDN. Si configura ambas funciones para el mismo nombre de dominio, compruebe que sus configuraciones no entren en conflicto. Para obtener más información, consulte Parameter filtering.

Creación de una regla de reescritura de URI de origen

  1. Inicie sesión en la consola de DCDN.

  2. En el panel de navegación izquierdo, haga clic en Domain Names.

  3. En la página Domain Names, busque el nombre de dominio que desea gestionar y haga clic en Configure en la columna Actions.

  4. En el árbol de navegación izquierdo del nombre de dominio, haga clic en Origin Fetch.

  5. Haga clic en la pestaña URI Rewrite.

  6. En la pestaña URI Rewrite, haga clic en Add.

  7. En el cuadro de diálogo URI Rewrite, configure Original URI, Final URI y Flag. A continuación se describen los parámetros.

    改写回源URI

    Parámetro

    Ejemplo

    Descripción

    Original URI

    ^/hello$

    Introduzca una URI. Debe comenzar con una barra diagonal (/) y no puede contener http:// ni nombres de dominio. Además, debe incluir expresiones regulares compatibles con Perl (PCRE).

    Final URI

    /hello/test

    Introduzca una URI. Debe comenzar con una barra diagonal (/) y no puede contener http:// ni nombres de dominio. Es compatible con PCRE.

    Flag

    None

    Si configura varias reglas de reescritura de URI, DCDN compara las solicitudes con las reglas de arriba hacia abajo.

    break

    • Si configura varias reglas de reescritura de URI y la regla actual coincide, se omiten las demás reglas.

    • Esta opción solo reescribe la ruta del recurso en la URI. Los parámetros de la URL permanecen sin cambios. Puede usar la función parameter rewrite para reescribir los parámetros de la URL.

    enhance_break

    • Si configura varias reglas de reescritura de URI y la regla actual coincide, se omiten las demás reglas.

    • A diferencia de Break, enhance break reescribe los parámetros de la URL. Sin embargo, la configuración de reescritura de parámetros puede entrar en conflicto con la función descrita en Rewrite URL parameters in back-to-origin requests. Si desea habilitar ambas funciones, compruebe que sus configuraciones no entren en conflicto.

  8. Haga clic en OK para aplicar la regla.

    Para modificar o eliminar una regla de reescritura, búsquela en la pestaña URI Rewrite y haga clic en Modify o Delete en la columna Actions.

Ejemplos de configuración

  • Example 1: Apply a rule whose flag is set to None.

    Original URI

    ^/hello$

    Final URI

    /index.html

    Flag

    None

    Resultado esperado

    Solicitud original: http://aliyundoc.com/hello

    Solicitud final: http://aliyundoc.com/index.html

    El sistema continúa comparando la solicitud con las demás reglas de reescritura de URI listadas en la pestaña URI Rewrite.

  • Example 2: Apply a rule whose flag is set to Break.

    Original URI

    ^/hello.jpg$

    Final URI

    /image/hello.jpg

    Flag

    break

    Descripción

    Solicitud original: http://example.com/hello.jpg

    Solicitud final: http://example.com/image/hello.jpg

    El sistema deja de comparar la solicitud con las demás reglas de reescritura de URI listadas en la pestaña URI Rewrite.

  • Example 3: Apply a rule whose flag is set to enhance break.

    Original URI

    ^/hello.jpg?code=123$

    Final URI

    /image/hello.jpg?code=321

    Flag

    enhance break

    Resultado esperado

    Solicitud original: http://example.com/hello.jpg?code=123

    Solicitud final: http://example.com/image/hello.jpg?code=321

    El sistema deja de comparar la solicitud con las demás reglas de reescritura de URI listadas en la pestaña URI Rewrite.

  • Example 4: Add a URI prefix to the root directory if the file name is a variable

    Agregue la ruta /image a la URI de todos los archivos del directorio raíz. Por ejemplo, reescriba /xxx en las URI como /image/xxx. En este ejemplo, xxx es un nombre de archivo, como /hello.jpg o /hello.html.

    Original URI

    ^(.*)$

    Nota

    ^(.*)$ coincide con cualquier carácter y un par de paréntesis () representa un grupo. Puede usar $1 en la URI final para llamar a las variables del grupo.

    Final URI

    /image$1

    Nota

    $1 es el primer patrón de reemplazo especial, que representa el contenido coincidente con la expresión dentro del primer par de paréntesis () de una expresión regular. $2 es el segundo patrón de reemplazo especial, que representa el contenido coincidente con la expresión dentro del segundo par de paréntesis (). $n representa el n-ésimo patrón de reemplazo especial.

    Flag

    break

    Resultado esperado

    • Solicitud original: http://example.com/hello.jpg

      Solicitud final: http://example.com/image/hello.jpg

    • Solicitud original: http://example.com/hello.html

      Solicitud final: http://example.com/image/hello.html

    El sistema deja de comparar la solicitud con las demás reglas de reescritura de URI listadas en la pestaña URI Rewrite.

  • Example 5: Add a URI prefix to a specific directory if the file name is a variable.

    Agregue la ruta /image a la URI de todos los archivos del directorio /live. Por ejemplo, reescriba /live/xxx en las URI como /image/live/xxx. En este ejemplo, xxx es un nombre de archivo, como /live/hello.jpg o /live/hello.html.

    Original URI

    ^/live/(.*)$

    Final URI

    /image/live/$1

    Flag

    break

    Resultado esperado

    • Solicitud original: http://example.com/live/hello.jpg

      Solicitud final: http://example.com/image/live/hello.jpg

    • Solicitud original: http://example.com/live/hello.html

      Solicitud final: http://example.com/image/live/hello.html

    El sistema deja de comparar la solicitud con las demás reglas de reescritura de URI listadas en la pestaña URI Rewrite.

  • Example 6: Apply only the rule whose flag is set to None when multiple rules are configured.

    Cree dos reglas de reescritura de URI, como se muestra en la siguiente figura.配置

    Resultado esperado:

    • Solicitud original: http://example.com/image_01.png

    • Solicitud final: http://example.com/image/image_02.png

      Nota

      La solicitud coincide con la primera regla y se reescribe como http://example.com/image_02.png. Luego, coincide con la segunda regla y se reescribe como http://example.com/image/image_02.png.

    • Example 7: Apply the rule whose flag is set to Break when multiple rules are configured.

      Cree dos reglas de reescritura de URI, como se muestra en la siguiente figura.配置

      Resultado esperado:

      • Solicitud original: http://example.com/image_01.png

      • Solicitud final: http://example.com/image_02.png

        Nota

        La solicitud coincide con la primera regla y se reescribe como http://example.com/image_02.png. Las demás reglas se omiten.

Temas relacionados

BatchSetDcdnDomainConfigs