Quando um recurso no servidor de origem é realocado, a URL do recurso em cache nos pontos de presença (POPs) da Dynamic Content Delivery Network (DCDN) é ajustada automaticamente. Se uma solicitação do usuário contiver uma URL desatualizada, os POPs reescrevem essa URL e redirecionam a solicitação para o novo endereço. Esse processo reduz o número de solicitações à origem e melhora o desempenho de acesso.
Informações básicas
O código de status HTTP 302, também conhecido como mensagem "Found", indica que o recurso solicitado foi realocado temporariamente. Após a criação de uma regra de reescrita de URI, os POPs da DCDN podem adicionar a nova URI do recurso ao cabeçalho Location na resposta HTTP 302. Ao receber essa mensagem, o cliente envia uma solicitação para a nova URI.
Além do código de status padrão 302, os POPs também suportam os códigos 303 e 307. Para alterar o código de status de redirecionamento, envie um ticket.
|
Código de status HTTP |
Descrição |
Método de tratamento |
Cenário |
|
302 |
Found |
As solicitações GET permanecem inalteradas. Solicitações com outros métodos podem ser convertidas para GET. |
Uma página web está temporariamente inacessível por motivos desconhecidos. Nesse caso, os mecanismos de busca não atualizam a URL da página. |
|
303 |
See Other |
As solicitações GET permanecem inalteradas. Solicitações com outros métodos são convertidas para GET e o corpo da mensagem é descartado. |
Utiliza-se este código para redirecionar solicitações PUT e POST, evitando redirecionamentos frequentes causados pela atualização da página. |
|
307 |
Temporary Redirect |
Tanto o método da solicitação quanto o corpo da mensagem permanecem inalterados. |
Indica que uma página web está temporariamente inacessível por motivos desconhecidos, sem que os mecanismos de busca atualizem sua URL. Se o site suportar métodos de solicitação além de GET, o sistema retorna o código 307 em vez do 302. |
É possível criar até 50 regras de reescrita para um nome de domínio. Caso você configure múltiplas regras, elas serão aplicadas na ordem decrescente em que aparecem no console da DCDN.
Cenários
Se um recurso no servidor de origem for movido para um diretório diferente, a URL desse recurso em cache nos POPs será atualizada. Nessa situação, quando um cliente enviar uma solicitação para a URL original, a DCDN deverá reescrever e redirecionar a solicitação para a nova URL. Por exemplo, considere um arquivo de imagem transferido do diretório /download/ para o diretório /image/.
Procedimento
Faça login no console da DCDN.
No painel de navegação à esquerda, clique em Domain Names.
Na página Domain Names, localize o nome de domínio desejado e clique em Configure.
Na árvore de navegação à esquerda do nome de domínio, clique em Caching.
Clique na aba URL Rewrite.
-
Clique em Add e configure a regra de reescrita conforme as necessidades do seu negócio.

Parâmetro
Descrição
URI to Be Rewritten
O caminho deve começar com uma barra (
/) e não incluir o protocolo nem o nome de domínio.Suporta Expressões Regulares Compatíveis com Perl (PCRE). Exemplo:
^/hello$.
Target URI
Se você definir Flag como Break em uma regra de reescrita, o caminho deve iniciar com uma barra (
/), excluindo o protocolo e o nome de domínio.Caso defina Flag como Redirect, o caminho poderá conter o protocolo e o nome de domínio. O uso de PCRE é suportado. Por exemplo,
$1e$2referenciam strings capturadas entre parênteses no caminho a ser reescrito.
Flag
Valores válidos: Redirect e Break.
Redirect: Quando a URI de uma solicitação corresponde a uma regra especificada, o POP retorna o código de status 302 e redireciona a solicitação para a URI indicada no cabeçalho Location enviado aos clientes. Os parâmetros da URI original não sofrem alterações. Após a execução da regra atual, a solicitação continua sendo comparada com as demais regras.
Break: Se a URI da solicitação corresponder à regra definida, o POP redireciona a solicitação para a URI de destino, mantendo os parâmetros originais inalterados. A execução das regras subsequentes é interrompida após o processamento desta regra.
-
Clique em OK.
Após criar o recurso de reescrita, você pode Modify ou Delete a regra exibida na aba URL Rewrite.
Exemplos de configuração
Exemplo 1
Ao solicitar http://example.aliyundoc.com/hello, o caminho da solicitação é /hello. O nó da DCDN inclui a nova URL http://example.aliyundoc.com/index.html no cabeçalho Location da resposta 302 e a retorna ao cliente. Em seguida, o cliente envia uma solicitação para http://example.aliyundoc.com/index.html.
Para esta regra, Path to Rewrite está definido como ^/hello$, Destination Path como /index.html e Execution Rule como redirect.
Durante um redirecionamento 302, caso o cabeçalho Location não especifique o protocolo e o nome de domínio, o cliente utilizará, por padrão, os mesmos valores da solicitação original.
Exemplo 2
Quando um cliente acessa http://example.aliyundoc.com/hello, o caminho /hello corresponde à expressão regular ^/hello$. O nó da DCDN retorna uma resposta 302 contendo a URL de destino https://test.aliyundoc.com/index.html no cabeçalho Location. Após receber a resposta, o cliente direciona uma nova solicitação para https://test.aliyundoc.com/index.html.
Regra de configuração: Defina Path to Rewrite como ^/hello$, Destination Path como https://test.aliyundoc.com/index.html e Execution Rule como redirect.
Exemplo 3
Se um cliente solicitar http://www.example.com/cdn/url/http://image.example.com/image/cat.jpg, o caminho conterá /cdn/url/http://, correspondendo à expressão regular ^/cdn/url/http://(.*). O nó da DCDN responde com o código 302, incluindo a URL de destino http://image.example.com/image/cat.jpg no cabeçalho Location. Consequentemente, o cliente envia uma solicitação para http://image.example.com/image/cat.jpg.
Na regra de configuração, defina Destination Path como http://$1 e Execution Rule como redirect.
Exemplo 4
Ao acessar http://example.aliyundoc.com/stories/index.html#/voice/318, a parte #/voice/318 da URL atua como um identificador de fragmento no lado do cliente. O navegador não envia esse trecho ao servidor, fazendo com que o caminho real recebido pelo nó da DCDN seja apenas /stories/index.html. Portanto, ao configurar a regra de reescrita, defina Path to Rewrite como ^/stories/index\.html$ para corresponder ao caminho anterior ao símbolo #. Em seguida, configure Destination Path com a URL de destino e Execution Rule como Redirect.
Para redirecionar várias URLs de origem que possuem fragmentos # distintos para diferentes URLs de destino, crie uma regra de reescrita separada para cada caminho de origem. Isso ocorre porque o servidor não consegue diferenciar URLs baseando-se apenas no conteúdo posterior ao símbolo #.