Todos os produtos
Search
Central de documentação

:Reescrever URIs de origem

Última atualização: Sep 15, 2026

O Alibaba Cloud Dynamic Content Delivery Network (DCDN) permite reescrever URIs de origem. O recurso de reescrita de URI atua nos pontos de presença (POPs) do DCDN sem afetar os serviços internos da plataforma nem as chaves de cache. Este tópico descreve como configurar a reescrita de URL de origem.

Cenários

Quando um recurso no servidor de origem é realocado, sua URI também muda. Se as requisições dos usuários ainda utilizarem a URI original, o DCDN precisa reescrever a URL para redirecionar essas requisições ao novo endereço.

Por exemplo, considere um arquivo de imagem movido do diretório /download/ para o diretório /image/.

Funcionamento

Os POPs comparam as URIs das requisições com as URIs dos recursos solicitados no servidor de origem, seguindo as regras de reescrita de URI. Em seguida, as requisições ou parâmetros específicos são redirecionados ao servidor de origem.

  • Em uma regra de reescrita, se você definir o parâmetro Flag como None ou Break, apenas o caminho do recurso na URL será reescrito.1

  • Se você definir o parâmetro Flag como enhance break, tanto o caminho do recurso quanto a string de consulta serão reescritos.2

Observações de uso

  • É possível configurar até 50 regras de origin URI rewrite para cada nome de domínio.

  • O sistema executa as regras de reescrita listadas na aba Back-to-origin URL Rewrite em ordem, de cima para baixo. Alterar essa sequência pode resultar em um comportamento diferente na reescrita.

  • O recurso de origin URI rewrite difere do recurso de rewrite na página Cache. A funcionalidade de rewrite atua nos POPs do DCDN, afeta os serviços internos e modifica as chaves de cache. Já a origin URI rewrite opera nos POPs que se comunicam com os servidores de origem, sem impactar os serviços internos do DCDN ou alterar as chaves de cache.

  • Caso o parâmetro Flag de uma URI rewrite rule esteja definido como enhance break, as configurações de reescrita de parâmetros podem entrar em conflito com o recurso de filtragem de parâmetros. Para filtrar parâmetros, escolha Domain Names > Optimization no painel de navegação à esquerda do console DCDN. Ao habilitar ambos os recursos para o mesmo domínio, garanta que não haja conflitos entre as configurações. Para mais informações, consulte Filtragem de parâmetros.

Criar uma regra de reescrita de URI de origem

  1. Faça login no console DCDN.

  2. No painel de navegação à esquerda, clique em Domain Names.

  3. Na página Domain Names, localize o domínio desejado e clique em Configure na coluna Actions.

  4. Na árvore de navegação à esquerda do domínio, clique em Origin Fetch.

  5. Clique na aba URI Rewrite.

  6. Na aba URI Rewrite, clique em Add.

  7. Na caixa de diálogo URI Rewrite, configure Original URI, Final URI e Flag. A tabela abaixo detalha esses parâmetros.

    改写回源URI

    Parâmetro

    Exemplo

    Descrição

    Original URI

    ^/hello$

    Insira uma URI. Ela deve começar com uma barra (/) e não pode conter http:// ou nomes de domínio. É necessário usar Expressões Regulares Compatíveis com Perl (PCRE).

    Final URI

    /hello/test

    Insira uma URI. Ela deve começar com uma barra (/) e não pode conter http:// ou nomes de domínio. Há suporte para PCRE.

    Flag

    None

    Ao configurar múltiplas regras de reescrita de URI, o DCDN compara as requisições com as regras sequencialmente, de cima para baixo.

    break

    • Se houver várias regras de reescrita de URI e a regra atual for correspondente, as demais serão ignoradas.

    • Esta opção reescreve apenas o caminho do recurso na URI. Os parâmetros da URL permanecem inalterados. Utilize o recurso reescrita de parâmetros para reescrever parâmetros de URL.

    enhance_break

    • Caso existam múltiplas regras de reescrita de URI e a regra atual seja correspondente, as outras regras são ignoradas.

    • Diferentemente do Break, o enhance break também reescreve os parâmetros da URL. Contudo, essas configurações podem conflitar com o recurso descrito em Reescrever parâmetros de URL em requisições de retorno à origem. Se desejar ativar ambos, certifique-se de que as definições sejam compatíveis.

  8. Clique em OK para aplicar a regra.

    Para modificar ou excluir uma regra de reescrita, localize-a na aba URI Rewrite e clique em Modify ou Delete na coluna Actions.

Exemplos de configuração

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

    Original URI

    ^/hello$

    Final URI

    /index.html

    Flag

    None

    Resultado esperado

    Requisição original: http://aliyundoc.com/hello

    Requisição final: http://aliyundoc.com/index.html

    O sistema continua comparando a requisição com outras regras de reescrita de URI listadas na aba URI Rewrite.

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

    Original URI

    ^/hello.jpg$

    Final URI

    /image/hello.jpg

    Flag

    break

    Descrição

    Requisição original: http://example.com/hello.jpg

    Requisição final: http://example.com/image/hello.jpg

    O sistema interrompe a comparação da requisição com outras regras de reescrita de URI listadas na aba 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

    Requisição original: http://example.com/hello.jpg?code=123

    Requisição final: http://example.com/image/hello.jpg?code=321

    O sistema interrompe a comparação da requisição com outras regras de reescrita de URI listadas na aba URI Rewrite.

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

    Adicione o caminho /image à URI de todos os arquivos no diretório raiz. Por exemplo, reescreva /xxx nas URIs para /image/xxx. Neste caso, xxx representa um nome de arquivo, como /hello.jpg ou /hello.html.

    Original URI

    ^(.*)$

    Nota

    ^(.*)$ corresponde a qualquer caractere, e um par de parênteses () representa um grupo. Use $1 na URI final para referenciar variáveis desse grupo.

    Final URI

    /image$1

    Nota

    $1 é o primeiro padrão especial de substituição, representando o conteúdo correspondente à expressão dentro do primeiro par de parênteses () em uma expressão regular. $2 é o segundo padrão especial, referente ao conteúdo do segundo par de parênteses (). $n indica o enésimo padrão especial de substituição.

    Flag

    break

    Resultado esperado

    • Requisição original: http://example.com/hello.jpg

      Requisição final: http://example.com/image/hello.jpg

    • Requisição original: http://example.com/hello.html

      Requisição final: http://example.com/image/hello.html

    O sistema interrompe a comparação da requisição com outras regras de reescrita de URI listadas na aba URI Rewrite.

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

    Adicione o caminho /image à URI de todos os arquivos no diretório /live. Por exemplo, reescreva /live/xxx nas URIs para /image/live/xxx. Aqui, xxx corresponde a um nome de arquivo, como /live/hello.jpg ou /live/hello.html.

    Original URI

    ^/live/(.*)$

    Final URI

    /image/live/$1

    Flag

    break

    Resultado esperado

    • Requisição original: http://example.com/live/hello.jpg

      Requisição final: http://example.com/image/live/hello.jpg

    • Requisição original: http://example.com/live/hello.html

      Requisição final: http://example.com/image/live/hello.html

    O sistema interrompe a comparação da requisição com outras regras de reescrita de URI listadas na aba URI Rewrite.

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

    Crie duas regras de reescrita de URI, conforme ilustrado na figura a seguir.配置

    Resultado esperado:

    • Requisição original: http://example.com/image_01.png

    • Requisição final: http://example.com/image/image_02.png

      Nota

      A requisição corresponde à primeira regra e é reescrita para http://example.com/image_02.png. Posteriormente, ela corresponde à segunda regra e é reescrita para http://example.com/image/image_02.png.

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

      Crie duas regras de reescrita de URI, conforme mostrado na figura abaixo.配置

      Resultado esperado:

      • Requisição original: http://example.com/image_01.png

      • Requisição final: http://example.com/image_02.png

        Nota

        A requisição corresponde à primeira regra e é reescrita para http://example.com/image_02.png. As demais regras são ignoradas.

    Tópicos relacionados

    BatchSetDcdnDomainConfigs