Accueil > Internet Information Server > [IIS] Découvrez le module de réécriture d’URL d’IIS7

[IIS] Découvrez le module de réécriture d’URL d’IIS7

Les différentes VPC ou templates de site distribués par l’équipe Commerce Server ne disposent pas par défaut d’une réécriture d’url. Et c’est actuellement la meilleure excuse que j’ai trouvé pour vous présenter le nouveau module de réécriture intégré à IIS: URL Rewrite Module :).

L’installation de ce module est très simple, vous pouvez le faire soit via un exécutable soit avec le nouvel auto installeur “Microsoft Web Plateform Installer”. Une fois installé, une nouvelle icone est présente dans votre IIS manager sous la section IIS:

Ce module vous propose plusieurs actions:

  • Création manuelle d’une règle de réécriture
  • Création assisté à partir d’une url brute (j’en connais qui vont adorer)
  • Le connu url map (url statique de votre site)
  • Le blocage

Commençons par la création assistée

=> Là je suis sûr de faire mouche auprès de nombreuses personnes réfractaire à l’expression régulière :)

Prenez simplement votre url brut du style: http://adventureworks.spgael.poc/Pages/Category.aspx?cat=Adventure Works Catalog&category=Boots et collez la dans le premier textbox. Là le module va vous générez une liste de template puis sur la sélection d’un des templates, votre expression régulière se génère automatiquement! Je vous avais dit que je ferais mouche :)

Résultat:

Passons maintenant à la méthode manuelle

Ici, pas question de se passer de nos bonnes vieilles expressions régulières. Tout est maitrisé et vous pouvez ainsi coller aux besoins de vos clients. Dans cet exemple, je vais réécrire: http://adventureworks.spgael.poc/Pages/Product.aspx?category=Boots&cat=Adventure Works Catalog&id=AW074-04 en http://adventureworks.spgael.poc/Pages/Adventure%20Works%20Catalog/Boots/PID-AW074-04.aspx. Pour cela, je rentre mon expression régulière et chose “cool”, je peux la tester et vérifier que la génération de mes paramètres est correcte (notez ici que les paramètres sont à récupérer via {R:x} ou x et la place du paramètre dans la collection). Vous pouvez ensuite paramétrer les différentes conditions à vérifier (ex si vous souhaitez vérifier que ce n’est pas un fichier)

   

Résultat:

 

Les url mappings

Rien de sorcier ici, les url mapping ne sont pas les choses les plus complexes à gérer :)

Le blocage d’url

La non plus rien de bien compliqué, si ce n’est que comme pour l’url mapping, vous êtes en mode assisté :)

Le web.config

Rendez-vous maintenant dans le web.config et vous verrez les règles créer apparaitre dans la section system.webServer/rewrite

<system.webServer>
    <rewrite>
        <rules>
            <rule name="RewriteUserFriendlyURL1" stopProcessing="true">
                <match url="^Pages/Category/([^/]+)/([^/]+)/?$" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="Pages/Category.aspx?cat={R:1}&amp;category={R:2}" />
            </rule>
            <rule name="Product Url" stopProcessing="true">
                <match url="^Pages/([_0-9a-z- ]+)/([_0-9a-z- ]+)/PID-([_0-9a-z- ]+)\.aspx" />
                <action type="Rewrite" url="Pages/Product.aspx?category={R:2}&amp;cat={R:1}&amp;id={R:3}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

Voilà, donc de quoi rendre vos chers référenceurs heureux (coucou Renaud) et plus d’excuses à ne pas le mettre en place lors de vos démos ou sur les sites live (si, si il y a encore des gens qui ne réécrivent pas les urls).

Technorati Tags: ,,,

About these ads
  1. Pas encore de commentaire.
  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Suivre

Recevez les nouvelles publications par mail.

%d bloggers like this: