URL Amigável – modelo de regra
pela Equipe do IIS
Os modelos de regra são usados para fornecer uma maneira simples de criar uma ou mais regras de reescrita para um determinado cenário. O módulo de reescrita de URL inclui vários modelos de regra para alguns cenários de uso comuns. Além disso, a interface do usuário do módulo de reescrita de URL fornece uma estrutura para conectar modelos de regra personalizados. Este passo a passo vai guiar você sobre como usar o modelo de regra "URL Amigável" que está incluído no módulo de reescrita de URL.
Pré-requisitos
Esse passo a passo requer os seguintes pré-requisitos:
- IIS 7.0 ou superior com serviço de função do ASP.NET habilitado;
- Módulo de Reescrita de URL 2.0 instalado.
Configurando uma página da Web de teste
Nós usaremos uma página asp.net de teste simples para verificar se as regras criadas pelo modelo funcionam corretamente. Esta página de teste apenas lê as variáveis do servidor Web e gera seus valores no navegador.
Copie o seguinte código ASP.NET e coloque-o na pasta %SystemDrive%\inetpub\wwwroot\
em um arquivo chamado article.aspx:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>URL Rewrite Module Test</title>
</head>
<body>
<h1>URL Rewrite Module Test Page</h1>
<table>
<tr>
<th>Server Variable</th>
<th>Value</th>
</tr>
<tr>
<td>Original URL: </td>
<td><%= Request.ServerVariables["HTTP_X_ORIGINAL_URL"] %></td>
</tr>
<tr>
<td>Final URL: </td>
<td><%= Request.ServerVariables["SCRIPT_NAME"] %>?<%= Request.ServerVariables["QUERY_STRING"] %></td>
</tr>
<tr>
<td>Public Link: </td>
<td><a href="<%= Request.ServerVariables["SCRIPT_NAME"] %>?<%= Request.ServerVariables["QUERY_STRING"] %>">Link URL</a></td>
</tr>
</table>
</body>
</html>
Depois de copiar esse arquivo, navegue até http://localhost/article.aspx
e verifique se a página foi renderizada corretamente em um navegador.
Usando o modelo de regra para gerar regras de reescrita
O modelo de regra "URL Amigável" pode ser usado para gerar regras de reescrita, redirecionamento e saída que tornam as URLs do aplicativo Web dinâmico mais amigáveis para os usuários e os mecanismos de pesquisa. Normalmente, páginas da Web dinâmicas levam em conta os parâmetros de cadeia de caracteres de consulta ao gerar um HTML de saída. URLs com cadeias de caracteres de consulta (por exemplo, http://contoso.com/articles.aspx?year=2008&month=11
) não são tão fáceis para as pessoas usarem e se comunicarem quanto URLs simples baseadas em hierarquia (por exemplo, http://contolso.com/articles/2008/11
). Além disso, alguns rastreadores de mecanismos de pesquisa podem ignorar a cadeia de caracteres de consulta ao indexar as páginas do site. O modelo de regra ajuda a gerar regras de reescrita que transformam as URLs baseadas em hierarquia em URLs com cadeias de caracteres de consulta. Além disso, o modelo também pode gerar uma regra de redirecionamento a ser usada para redirecionar clientes da Web de URLs com cadeias de caracteres de consulta para URLs limpas. Por fim, é possível criar uma regra de reescrita de saída que substitui todas as ocorrências de URLs por cadeias de caracteres de consulta na resposta HTML pelas URLs equivalentes baseadas em hierarquia.
Para usar o modelo, siga estas etapas:
- Vá para o Gerenciador do IIS
- Selecione "Site Padrão"
- No Modo de Exibição de Recurso, clique em "Reescrita de URL".
- No painel "Ações" no lado direito, clique em "Adicionar regras..." e selecione o modelo "URL Amigável":
- Na caixa de diálogo "Adicionar regras para habilitar URLs amigáveis", insira um exemplo de uma URL com parâmetros de cadeia de caracteres de consulta:
http://localhost/article.aspx?id=123&title=some-title
e, em seguida, expanda a lista suspensa com opções sugeridas de como essa URL de exemplo pode ser transformada em uma URL sem cadeia de caracteres de consulta.
- Escolha a segunda opção:
http://localhost/article/123/some-title
. Observe que o padrão de URL e a URL de substituição foram atualizados de acordo. Eles serão usados na regra de reescrita que será criada pelo modelo de regra. Marque a opção "Criar regra de redirecionamento correspondente" para criar uma regra de redirecionamento que será usada quando os clientes da Web usarem a URL interna para solicitar uma página da Web. Esses clientes serão redirecionados para uma URL pública correspondente.
Além disso, marque a opção "Criar regra de reescrita de saída correspondente" para criar uma regra de saída que substituirá todas as instâncias de URLs internas no HTML de resposta pelos equivalentes públicos.
- Clique em "OK" para que as regras de reescrita, redirecionamento e saída sejam geradas:
Testando a regra
Para testar as regras geradas, abra um navegador da Web e solicite a seguinte URL:
http://localhost/article/234/some-title
Você deve ver que a regra de reescrita no servidor Web alterou a URL original para article.aspx e passou "234" e "some-title" como valores para parâmetros de cadeia de caracteres de consulta.
No navegador da Web, mova o mouse sobre o texto "URL do Link" (ou use o menu "Página" -> "Exibir Fonte..."). Observe que, embora a URL do link estivesse originalmente em um formato que usava parâmetros de cadeia de caracteres de consulta, ela foi substituída pelo Módulo de Reescrita de URL para usar o formato de URL baseado em hierarquia.
Além disso, se você solicitar http://localhost/article.aspx?id=432&title=some-other-title
, verá que o navegador será redirecionado para http://localhost/article/432/some-other-title
.
Resumo
Neste passo a passo, você aprendeu a gerar regras de reescrita usando o modelo de regra "URL Amigável" incluído no módulo de reescrita de URL. Esse modelo de regra pode ser usado como um ponto de partida para criar regras de reescrita para habilitar URLs amigáveis para o usuário e para mecanismos de pesquisa para os aplicativos Web existentes.