URL conviviale - Modèle de règle

Auteur : Équipe IIS

Les modèles de règle sont utilisés pour fournir un moyen simple de créer une ou plusieurs règles de réécriture dans un scénario donné. Le module de réécriture d’URL 2 comprend plusieurs modèles de règle pour certains scénarios d’utilisation courants. Par ailleurs, l’interface utilisateur du module de réécriture d’URL fournit un framework permettant de raccorder des modèles de règle personnalisée. Cette procédure pas à pas vous guide tout au long de l’utilisation du modèle de règle « URL conviviale » inclus avec le module de réécriture d’URL.

Prérequis

Cette procédure pas à pas nécessite les prérequis suivants :

  1. IIS 7.0 ou version ultérieure avec le service de rôle ASP.NET activé ;
  2. Module de réécriture d’URL 2.0 release installé.

Configuration d’une page Web de test

Nous allons utiliser un test simple asp.net page pour vérifier que les règles créées par le modèle fonctionnent correctement. La page de test lit simplement les variables de serveur Web et génère leurs valeurs dans le navigateur.

Copiez le code ASP.NET suivant et placez-le dans le dossier %SystemDrive%\inetpub\wwwroot\ dans un fichier appelé 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>

Après avoir copié ce fichier, accédez à http://localhost/article.aspx et vérifiez que la page s’affiche correctement dans un navigateur.
Screenshot of a browser screen displaying the U R L Rewrite Module Test Page.

Utilisation du modèle de règle pour générer des règles de réécriture

Le modèle de règle « URL conviviale » peut être utilisé pour générer des règles de réécriture, de redirection et de trafic sortant qui rendent les URL de votre application Web dynamique plus conviviale pour l’utilisateur et le moteur de recherche. En règle générale, les pages Web dynamiques prennent en compte les paramètres de chaîne de requête lors de la génération d’un code HTML de sortie. Les URL avec des chaînes de requête (par exemple http://contoso.com/articles.aspx?year=2008&month=11) ne sont pas aussi faciles à utiliser et à communiquer en tant qu’URL basées sur une hiérarchie simple (par exemple http://contolso.com/articles/2008/11). En outre, certains analyseurs du moteur de recherche peuvent ignorer la chaîne de requête lors de l’indexation des pages du site Web. Le modèle de règle vous permet de générer une règle de réécriture qui transforme les URL basées sur la hiérarchie en URL avec des chaînes de requête. Le modèle peut également générer une règle de redirection qui peut être utilisée pour rediriger les URL de formulaire de clients Web à l’aide de chaînes de requête pour nettoyer les URL. Enfin, il est possible de créer une règle de réécriture sortante qui remplace toutes les occurrences d’URL par des chaînes de requête dans la réponse HTML par leurs équivalents d’URL basées sur la hiérarchie.

Pour utiliser le modèle, procédez comme suit :

  1. Accéder au Gestionnaire des services Internet (IIS)
  2. Sélectionnez« Site Web par défaut »
  3. Dans la vue des fonctionnalités, cliquez sur « Réécriture d’URL »
    Screenshot of the I I S Manager window on the Default Website screen. The icon for U R L Rewrite is highlighted.
  4. Dans le volet« Actions » sur le côté droit, cliquez sur « Ajouter des règles... », puis sélectionnez le modèle« URL conviviale » :
    Screenshot of the Add Rules dialog box. The icon for User-friendly U R L is highlighted.
  5. Dans la boîte de dialogue« Ajouter des règles pour activer les URL conviviales », entrez un exemple d’URL avec des paramètres de chaîne de requête : http://localhost/article.aspx?id=123&title=some-title puis développez la liste déroulante avec des options suggérées pour transformer cet exemple d’URL en URL sans chaîne de requête.
    Screenshot of the Add Rules to Enable User-Friendly U R L dialog box.
  6. Choisissez la deuxième option : http://localhost/article/123/some-title. Notez que le modèle d’URL et l’URL de substitution ont été mis à jour en conséquence. Celles-ci seront utilisées dans la règle de réécriture qui sera créée par le modèle de règle. Cochez la case« Créer une règle de redirection correspondante » pour créer une règle de redirection qui sera utilisée lorsque les clients Web utilisaient l’URL interne pour demander une page Web. Ces clients sont redirigés vers une URL publique correspondante.
    Vérifiez également« Créer une règle de réécriture sortante correspondante » pour créer une règle de trafic sortant qui remplacera toutes les instances d’URL internes dans le code HTML de réponse par leurs équivalents publics.
    Screenshot of the Add Rules to Enable User-Friendly U R L dialog box. The corresponding public U R L field is highlighted.
  7. Cliquez sur« OK » pour que les règles de réécriture, de redirection et de trafic sortant soient générées :
    Screenshot of the I I S Manager Window displaying the U R L Rewrite page. The inbound and outbound rules are shown.

Test de la règle

Pour tester les règles générées, ouvrez un navigateur Web et demandez l’URL suivante :

http://localhost/article/234/some-title

Vous devez normalement voir que la règle de réécriture sur votre serveur Web a changé l’URL d’origine en article.aspx et qu’elle a passé« 234 » et« some-title » comme valeurs des paramètres de la chaîne de requête.

Dans l’explorateur Web, déplacez la souris sur le texte« URL du lien » (ou utilisez le menu« Page » ->« Afficher la source... »). Notez que même si l’URL du lien était initialement dans un format qui utilisait des paramètres de chaîne de requête, elle a été remplacée par le module de réécriture d’URL pour utiliser le format d’URL basé sur la hiérarchie.

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

En outre, si vous demandez http://localhost/article.aspx?id=432&title=some-other-title vous verrez que le navigateur est redirigé vers http://localhost/article/432/some-other-title.

Résumé

Dans cette procédure pas à pas, vous avez appris à générer des règles de réécriture à l’aide du modèle de règle« URL conviviale » inclus dans le module de réécriture d’URL. Ce modèle de règle peut être utilisé comme point de départ pour concevoir des règles de réécriture pour activer les URL conviviales et conviviales du moteur de recherche pour vos applications Web existantes.