Problème, Question

Lorsque je tente de configurer les règles de réécriture dans IIS avec le dispatcher installé, j'obtiens 500 erreurs.  Comment configurer le module de réécriture d'URL IIS7 afin qu'il fonctionne avec le dispatcher CQ ?

Résolution, réponse

Configurer IIS 7.x

Les instructions pour installer IIS7.x sont disponibles ici :
http://learn.iis.net/page.aspx/29/installing-iis-7-on-windows-server-2008-or-windows-server-2008-r2/

Lors de l’installation d'IIS, veillez à activer toutes les fonctionnalités.

Configuration de la réécriture d'URL IIS

Vous aurez besoin du module de réécriture d'URL IIS.  Pour l'installer, cliquez sur le bouton d'installation situé dans le volet droit de cette page Web :
http://www.iis.net/download/urlrewrite

Configuration du dispatcher

Pour installer le dispatcher dans IIS7, suivez les instructions de ce lien :
http://dev.day.com/docs/en/cq/current/deploying/dispatcher.html#Microsoft%20Information%20Server

Configuration de la réécriture d'URL pour une utilisation avec la compression gzip

Au cours de cette étape, nous allons configurer la fonction de compression gzip de IIS afin qu'elle fonctionne avec la réécriture de sortie URL (dans une configuration par défaut, ces deux fonctions entrent en conflit).

  1. Accédez à « Démarrer » (Start) -> « Outils d’administration » (Administrative Tools) -> « Gestionnaire des services IIS » (Internet Information Services (IIS) Manager)
  2. Dans le gestionnaire de services IIS, parcourez l’arborescence et sélectionnez le site IIS sur lequel vous avez configuré le dispatcher.
  3. Double-cliquez sur « Compression »
  4. Désactivez l’option « Activer la compression du contenu statique » (Enable static content compression)
  5. Cliquez sur le menu Démarrer.
  6. Dans la zone de texte « Taper ici pour rechercher », entrez « cmd » et appuyez sur Ctrl+Maj+Entrée (pour exécuter cette commande en tant qu’administrateur).
  7. Dans l'invite de commande administrative, saisissez ce qui suit pour ajouter l'entrée du registre LogRewrittenUrlEnabled :
    reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\Rewrite /v LogRewrittenUrlEnabled /t REG_DWORD /d 0
  8. Revenez à la fenêtre « Gestionnaire des services d'information Internet (IIS) » et retournez sur le site Web du répartiteur. Double-cliquez ensuite sur « Éditeur de configuration » et vérifier que la propriété dynamicCompressionBeforeCache est définie sur False pour l’élément de configuration /system.webServer/urlCompression.
  9. Revenez au niveau de l'affichage principal du site (en cliquant sur le site dans l’arborescence de gauche).
  10. Double-cliquez sur « Modules ».
  11. Dans l’écran des modules, cliquez sur « Afficher la liste numérotée », dans le volet de droite.
  12. Déplacez le module de réécriture de l'URL (RewriteModule) sous le module de compression dynamique (DynamicCompressionModule).

Configuration des règles de normalisation des exemples.

Dans cette étape, nous allons configurer des exemples de règles de réécriture pour le site Web www.geometrixx.com. Ces règles réécriront les URL d'extension .html afin qu'elles ne contiennent plus /content/geometrixx. Par exemple, si vous accédez directement à une instance de publication CQ5, vous pouvez accéder au fichier http://localhost:4503/content/geometrixx/en.html. Avec ces règles de réécriture, si vous accédez au serveur IIS à l'aide du nom d'hôte DNS www.geometrixx.com, vous pouvez accéder à http://www.geometrixx.com/en.html, puis au fichier /content/geometrixx/en.html.

Pour configurer les règles de réécriture qui fonctionneront de manière cohérente avec le module répartiteur, il convient de les configurer au niveau du serveur. En outre, il est beaucoup plus rapide de configurer ces règles en modifiant le fichier xml ApplicationHost.config IIS qu'en utilisant l'interface utilisateur afin que ces instructions suivent cette méthode.

  1. Accédez au menu llez à « Démarrer ».
  2. Entrez le texte « bloc-notes » dans la boîte de dialogue « Rechercher des programmes et des fichiers » et appuyez sur Ctrl+Maj+Entrée (pour exécuter la commande en tant qu'administrateur).
  3. Cliquez sur « Oui » en réponse au message qui apparaît, demandant « Voulez-vous permettre au programme suivant d'apporter des modifications à cet ordinateur ? »
  4. Dans le bloc-notes, accédez à Fichier -> Ouvrir.
  5. Dans la boîte de dialogue, copiez / collez ce chemin : c:\Windows\system32\inetsrv\config\applicationHost.config et appuyez sur Entrée. Le contenu du fichier applicationHost.config doit maintenant être affiché dans le bloc-notes.
  6. Copiez / collez le texte suivant juste avant la balise xml de fin </system.webServer>
    <rewrite>
    <globalRules>
    <rule name="Root Context 1" enabled="true">
    <match url="^(.*)\.html(.*)" />
    <action type="Rewrite" url="/content/geometrixx/{R:1}.html{R:2}" appendQueryString="false" />
    <conditions>
    <add input="{HTTP_HOST}" pattern="^www.geometrixx.com" />
    <add input="{REQUEST_URI}" pattern="^/etc/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/etc$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/bin/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/system/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/libs/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/libs$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/var/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/tmp/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/tmp$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/crx/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/crx$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/content/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/crxde$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/apps/" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/apps$" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/scripts/disp_iis" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/dispatcher/invalidate" negate="true" />
    </conditions>
    </rule>
    </globalRules>
    <outboundRules>
    <rule name="rewrite output" enabled="true">
    <match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="^/content/geometrixx/(.*)\.html(.*)$" />
    <action type="Rewrite" value="/{R:1}.html{R:2}" />
    <conditions>
    </conditions>
    </rule>
    </outboundRules>
    </rewrite>
  7. Dans le Bloc-notes, appuyez sur Ctrl+s pour sauvegarder.
  8. Accédez à « Démarrer » (Start) -> « Outils d’administration » (Administrative Tools) -> « Gestionnaire des services IIS » (Internet Information Services (IIS) Manager)
  9. Sélectionnez ou développez le nœud supérieur dans l'arborescence (l'icône du serveur).
  10. Cliquez avec le bouton droit sur l'icône du serveur et cliquez sur « Arrêter » pour arrêter le serveur.
  11. Quand il est arrêté, cliquez à nouveau sur « Démarrer ».
  12. Sélectionnez l'icône du serveur dans le Gestionnaire des IIS.
  13. Dans le panneau de droite, double-cliquez sur « URL Rewrite ».
  14. Les exemples de règles ajoutés via les fichiers xml sont maintenant affichés.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne