Compartilhar via


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:

  1. IIS 7.0 ou superior com serviço de função do ASP.NET habilitado;
  2. 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.
Screenshot of a browser screen displaying the U R L Rewrite Module Test Page.

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:

  1. Vá para o Gerenciador do IIS
  2. Selecione "Site Padrão"
  3. No Modo de Exibição de Recurso, clique em "Reescrita de URL".
    Screenshot of the I I S Manager window on the Default Website screen. The icon for U R L Rewrite is highlighted.
  4. No painel "Ações" no lado direito, clique em "Adicionar regras..." e selecione o modelo "URL Amigável":
    Screenshot of the Add Rules dialog box. The icon for User-friendly U R L is highlighted.
  5. 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.
    Screenshot of the Add Rules to Enable User-Friendly U R L dialog box.
  6. 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.
    Screenshot of the Add Rules to Enable User-Friendly U R L dialog box. The corresponding public U R L field is highlighted.
  7. Clique em "OK" para que as regras de reescrita, redirecionamento e saída sejam geradas:
    Screenshot of the I I S Manager Window displaying the U R L Rewrite page. The inbound and outbound rules are shown.

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.

Screenshot of a browser window displaying the U R L Rewrite Module Test Page. The redirected U R L is circled.

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.