Todos os produtos
Search
Central de documentação

CDN:Origin Path Rewrite

Última atualização: Jul 03, 2026

O Alibaba Cloud CDN oferece suporte à reescrita de URL. A reescrita afeta apenas a URL utilizada nas solicitações de busca na origem, sem impactar o roteamento interno do CDN ou a chave de cache.

Como funciona

As regras de Origin Path Rewrite permitem modificar o caminho da solicitação para corresponder à localização real do recurso no servidor de origem. Isso garante que os POPs recuperem recursos com precisão ou transmitam strings de consulta específicas à origem.

  • Se o Flag estiver definido como None ou break, apenas o caminho do recurso na URL será reescrito.

    无标题文档-流程图

  • Caso o Flag esteja definido como enhance break, tanto o caminho do recurso quanto a string de consulta poderão ser reescritos.

    zh-enhance_break

Notas de uso

  • É possível configurar até 50 regras de Origin Path Rewrite para um único nome de domínio.

  • A aplicação das regras ocorre de cima para baixo. A ordem delas influencia o resultado final da reescrita.

  • Ao definir regras de Origin Path Rewrite, podem surgir conflitos com o recurso Ignore Parameters, localizado na aba Domain Names > Optimization. Evite tais conflitos de configuração.

  • Se você configurar simultaneamente Origin Path Rewrite e regras condicionais de origem, a regra de Origin Path Rewrite poderá alterar o caminho da URL de busca na origem. Essa alteração pode fazer com que o caminho recebido pelo servidor de origem difira do esperado, gerando um erro 404. Para solucionar o problema, desative temporariamente a regra de Origin Path Rewrite e verifique se a solicitação funciona conforme o esperado. Caso precise utilizar ambos os recursos, ajuste as prioridades e condições das regras para evitar reescritas de caminho não intencionais.

Diferenças entre Access URL Rewrite e Origin Path Rewrite

Recurso

Objeto afetado

Experiência do cliente

Cenário de aplicação

Reescrever URLs de acesso

Afeta a URL acessada pelo cliente. Também altera a URL que o nó DCDN utiliza para buscas na origem.

  • Quando a regra de execução é redirect, o cliente envia uma nova solicitação de acesso usando a URL redirecionada.

  • Se a regra de execução for break, a URL visível ao cliente permanece igual à URL de acesso real, sem alterações.

Geralmente utilizado para migrar ou mapear URLs de um nome de domínio antigo para um novo. Também serve para fornecer URLs distintas para clientes móveis e PCs.

Exemplo: Quando um cliente acessa old.example.com/hello, a URL de acesso é reescrita para new.example.com/hello.

Reescrever Caminho de Busca na Origem

Afeta a URL que o nó DCDN usa para buscar conteúdo na origem. A URL acessada pelo cliente não sofre alterações.

A URL exibida ao cliente é idêntica à URL de acesso real. Não há mudanças.

Frequentemente usado para ocultar a estrutura real de URLs do servidor de origem, protegendo suas informações. Também é aplicado no mapeamento de URLs para permitir que o nó DCDN busque conteúdo em diferentes pastas do servidor de origem.

Exemplo: Ao acessar cdn.example.com/hello, a URL de busca na origem é reescrita para origin.example.com/source/hello.

Diagrama de Access URL Rewrite

image
  1. O cliente envia uma solicitação a um nó DCDN. A URL da solicitação é old.example.com/hello.

  2. Após receber a solicitação, o nó DCDN aplica a regra de reescrita de URL. O nó DCDN inclui a nova URL, new.example.com/hello, no cabeçalho Location da resposta 302 enviada ao cliente.

  3. Ao receber a resposta 302, o cliente envia uma solicitação para a nova URL.

  4. O nó DCDN verifica seu cache. Se o cache contiver o conteúdo da URL reescrita, o nó retorna esse conteúdo diretamente ao cliente. Caso contrário, o nó DCDN envia uma solicitação ao servidor de origem utilizando a URL reescrita, new.example.com/hello.

  5. O servidor de origem recebe a solicitação e devolve o conteúdo da resposta ao nó DCDN.

  6. O nó DCDN armazena o conteúdo da resposta em cache e o retorna ao cliente.

Diagrama de Origin Path Rewrite

image
  1. O cliente envia uma solicitação a um nó DCDN. A URL da solicitação é cdn.example.com/files/hello.txt.

  2. Depois de receber a solicitação, o nó DCDN verifica seu cache. Se o conteúdo correspondente à URL solicitada estiver em cache, o nó o retorna diretamente ao cliente. Se não estiver, o nó DCDN aplica a regra de reescrita da URL de busca na origem. Ele reescreve a URL de busca na origem para origin.example.com/secret/files/hello.txt e envia uma solicitação ao servidor de origem.

  3. Após receber a solicitação, o servidor de origem retorna o conteúdo da resposta ao nó DCDN.

  4. O nó DCDN armazena o conteúdo da resposta em cache e o entrega ao cliente.

Configurar a reescrita de caminho de origem

  1. Faça login no CDN console.

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

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

  4. No painel de navegação à esquerda do nome de domínio, clique em Origin Fetch.

  5. Clique na aba Origin Path Rewrite.

  6. Clique em Add. Configure os campos Path to Be Rewritten, Target Path e Flag.

    Parâmetro

    Exemplo

    Descrição

    Path to Be Rewritten

    ^/hello$

    Caminho de URL que começa com barra (/) e não inclui http:// nem nome de domínio. É obrigatório usar um padrão PCRE (Perl Compatible Regular Expressions).

    Target Path

    /hello/test

    Caminho de URL iniciado por barra (/), sem incluir http:// ou nome de domínio. Há suporte para PCRE.

    Flag

    None

    Ao configurar múltiplas regras, após esta regra ser correspondida e executada, as regras subsequentes também serão processadas sequencialmente.

    break

    • Se houver várias regras configuradas e a URL da solicitação corresponder a esta regra, nenhuma regra posterior será avaliada.

    • Apenas o caminho do recurso da URL é modificado, mantendo os parâmetros inalterados. Portanto, isso não interfere na reescrita de parâmetros feita pelo recurso Origin Path Rewrite.

    enhance break

    • Quando múltiplas regras estão configuradas e a URL corresponde a esta regra, o sistema ignora as regras seguintes.

    • Semelhante ao break, mas este flag também reescreve a string de consulta. Pode haver conflito com o recurso de reescrita de parâmetros de busca na origem. Caso utilize ambos, garanta que as configurações não entrem em conflito.

  7. Clique em OK para aplicar a regra.

    Também é possível clicar em Modify ou Delete na lista de regras da aba Origin Path Rewrite para gerenciar as regras existentes.

Exemplos de configuração

  • Exemplo 1: Flag definido como None

    Path to Be Rewritten

    ^/hello$

    Target Path

    /index.html

    Flag

    None

    Resultado

    Solicitação original: http://example.com/hello

    Solicitação de busca na origem após reescrita: http://example.com/index.html

    Em seguida, a solicitação é comparada com as regras subsequentes na lista de Origin Path Rewrite.

  • Exemplo 2: Flag definido como break

    Path to Be Rewritten

    ^/hello.jpg$

    Target Path

    /image/hello.jpg

    Flag

    break

    Resultado

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

    Solicitação de busca na origem após reescrita: http://example.com/image/hello.jpg

    Nenhuma regra subsequente na lista de Origin Path Rewrite será avaliada.

  • Exemplo 3: Flag definido como enhance break

    Path to Be Rewritten

    ^/hello.jpg?code=123$

    Target Path

    /image/hello.jpg?code=321

    Flag

    enhance break

    Resultado

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

    Solicitação de busca na origem após reescrita: http://example.com/image/hello.jpg?code=321

    O sistema não avalia regras posteriores na lista de Origin Path Rewrite.

  • Exemplo 4: Adição de prefixo em caminhos variáveis no diretório raiz

    Por exemplo, é possível reescrever um caminho de URL como /xxx, onde xxx representa um nome de arquivo variável (como /hello.jpg ou /hello.html), para /image/xxx. Essa ação insere o prefixo /image no caminho de qualquer arquivo localizado no diretório raiz.

    Path to Be Rewritten

    ^(.*)$

    Nota

    ^ corresponde ao início da string. (.) é um grupo de captura, onde . aceita qualquer caractere único, exceto nova linha, e repete o caractere ou grupo anterior zero ou mais vezes. Use $1 no Target Path para referenciar o conteúdo capturado por esse grupo. $ indica o fim da string. Assim, ^(.)$ abrange toda a string do início ao fim, capturando todos os caracteres (exceto novas linhas) em um grupo. Por exemplo, na string "hello world", ^(.)$ casa com a string inteira e armazena "hello world" no primeiro grupo.

    Target Path

    /image$1

    Nota

    /image corresponde à string "/image". $1 referencia o conteúdo do primeiro grupo de captura, $2 referencia o segundo grupo, e assim por diante. Logo, /image$1 significa que a string "/image" será seguida imediatamente pelo conteúdo do primeiro grupo de captura. Por exemplo, se o primeiro grupo contiver "abc", /image$1 resultará na string "/imageabc". Observe que $1 aponta para o conteúdo do grupo de captura, e não para a string literal "$1". Para casar com a string literal "$1", use um caractere de escape, como "\$1".

    Flag

    break

    Resultado

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

      Solicitação de busca na origem após reescrita: http://example.com/image/hello.jpg

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

      Solicitação de busca na origem após reescrita: http://example.com/image/hello.html

    Regras subsequentes na lista de Origin Path Rewrite não são avaliadas.

  • Exemplo 5: Adição de prefixo em caminhos sob um diretório específico

    Por exemplo, você pode reescrever uma URL contendo /live/xxx, onde xxx representa qualquer nome de arquivo (como hello.jpg ou hello.html), para /image/live/xxx. Isso adiciona o prefixo /image ao caminho de qualquer arquivo dentro do diretório /live.

    Path to Be Rewritten

    ^/live/(.*)$

    Target Path

    /image/live/$1

    Flag

    break

    Resultado

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

      Solicitação de busca na origem após reescrita: http://example.com/image/live/hello.jpg

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

      Solicitação de busca na origem após reescrita: http://example.com/image/live/hello.html

    Regras subsequentes na lista de Origin Path Rewrite não são avaliadas.

  • Exemplo 6: Encadeamento de regras com o flag None

    Considere duas regras de reescrita ativas. A Regra 1 reescreve ^/image_01.png$ para /image_02.png com o Flag definido como None. A Regra 2 reescreve ^(.*)$ para /image$1 com o Flag definido como None.

    Resultado:

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

    • Solicitação de busca na origem após reescrita: http://example.com/image/image_02.png

      Nota

      Inicialmente, a solicitação corresponde à Regra 1 e é reescrita para http://example.com/image_02.png. Como o Flag está definido como None, o caminho reescrito passa pela avaliação da Regra 2, que também corresponde. Ocorre então uma segunda reescrita, resultando no caminho final: http://example.com/image/image_02.png.

  • Exemplo 7: Interrupção da avaliação de regras com break

    Suponha duas regras de reescrita habilitadas. A Regra 1 reescreve ^/image_01.png$ para /image_02.png com o Flag definido como break. A Regra 2 reescreve ^(.*)$ para /image$1 com o Flag definido como None. Quando uma solicitação corresponde à Regra 1, o processamento é interrompido e as regras seguintes não são avaliadas, pois o Flag está definido como break.

    Resultado:

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

    • Solicitação de busca na origem após reescrita: http://example.com/image_02.png

      Nota

      A solicitação primeiro casa com a Regra 1 e é reescrita para http://example.com/image_02.png. Visto que o Flag da Regra 1 é break, o processamento cessa e nenhuma outra regra é avaliada.