Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    N'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters


    Expertise Commerce server et BizTalk

IIS et l’héritage de la configuration des répertoires virtuels ; le module URL Rewrite à la rescousse

IIS permet d’héberger des sites web et des répertoires virtuels. Un répertoire virtuel est une sorte de sous dossier : un mini site web à l’intérieur d’un site web. Les répertoires virtuels peuvent être pratiques pour héberger des sous application, par exemple des blogs ou un site d’administration.

On pourrait imaginer avoir un site web contenant 2 répertoires virtuels : admin et blogs. La capture d’écran ci-dessous illustre cette configuration.

image

Cependant attention ! Les répertoires virtuels héritent de la configuration du site web parent. Ainsi, dans notre exemple l’application “blogs” héritera de la configuration du site IISTest. Cela peut être problématique, très souvent on ajoute des httpmodules ou autres fonctionnalités propres à un site web ; l’ajout de ces fonctionnalité peut être non désirées et entrainer des problèmes sur ces sous-sites. 

Il est possible de contourner le problème en utilisant le module “Url Rewriter v2.0” de IIS. Comme son nom l’indique, ce module permet de faire de la réécriture d’url, il est téléchargeable via WebPI ou à cette adresse : http://www.iis.net/download/urlrewrite.

L’idée est d’héberger le site web racine dans une application virtuelle puis de rediriger toutes les requêtes vers ce répertoire virtuelle sauf les requêtes allant vers /admin ou /blogs.

Dans un premier temps, il faut alors déplacer tous les fichiers du site web vers un répertoire vitrtuel que l’on pourrait nommer www

image

Ensuite, au niveau du site web, il faut ajouter la règle de rewriting suivante :

image

Vous pouvez aussi éditer directement votre fichier de configuration et ajouter les lignes suivantes :

<system.webServer>
  <rewrite>
    <rules>
      <rule name="www redirect">
        <match url=".*" />
        <action type="Rewrite" url="/www/{R:0}" />
        <conditions>
          <add input="{SCRIPT_NAME}" pattern="/admin/.*" negate="true" />
          <add input="{SCRIPT_NAME}" pattern="/blogs/.*" negate="true" />
          <add input="{SCRIPT_NAME}" pattern="/www/.*" negate="true" />
        </conditions>
      </rule>
    </rules>
  </rewrite>
</system.webServer>

Ainsi, toutes les requêtes allant vers votre site web seront réécrites vers le répertoire /www/. Puisqu’il s’agit de réécriture (rewriting), l’utilisateur ne verra aucune différence au niveau de l’url.

Et vous, avez-vous déjà eu des problèmes liés à l’héritage de configuration des répertoires virtuels ? Quelle solution avez-vous utilisée ?

Posted: dimanche 13 mars 2011 20:06 par cyril
Classé sous : , , ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

JeremyJeanson a dit :

Perso j'ai déjà testé la même solution, mais sans utilisé la section system.webServer... et l'idée de changer manuellement la config de chaque IIS m'avais fait abandonner la solution.

j'avais donc laissé tombé et j'utilisais 2 sites :(

Maintenant, je crois repartir sur ta solution avec l'écriture des règles dans le fichier de config. Là ça me plait!

# mars 14, 2011 09:26
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01