31 votes

asp.net, module de réécriture d'URL et web.config

J'utilise ASP.net avec .NET 3.5 sur IIS7 (Vista) avec le module URL Rewrite de Microsoft.

Cela signifie que j'ai un

 <system.webServer>
    <rewrite>...</rewrite>
    ...
</system.webServer>
 

section dans le web.config, mais je reçois un avertissement, que dans le system.webServer l’élément "rewrite" n’est pas autorisé.

Comment puis-je configurer mon système pour autoriser (et peut-être même Intellisense) sur la partie réécriture du web.config?

Merci Christoph

25voto

Jonathan Freeland Points 2817

J'ai été en mesure d'obtenir ce travail dans Visual Studio 2010.

Commencez avec Ruslan post ici et télécharger le 2.0 IntelliSense fichier. Ensuite, il suffit de suivre les instructions qu'il a posté précédemment ici. Tous que j'ai fait a été exécutant la commande suivante en tant que Ruslan indique:

C:\download_directory\rewrite2_intellisense>cscript UpdateSchemaCache.js

Christoph souligne dans son commentaire, assurez-vous de remplacer VS90COMNTOOLS avec VS100COMNTOOLS dans UpdateSchemaCache.js avant d'exécuter la commande ci-dessus si vous utilisez Visual Studio 2010.

Je n'ai pas besoin de redémarrer Visual Studio. J'ai ajouté de l' <rewrite> section uniquement pour le Web.config fichiers de transformation, que de l'avoir dans les principaux Web.config sauts de débogage local.

3voto

mellamokb Points 34067

Je crois que vous avez besoin de définir le module de votre site web.config comme ceci:

<system.webServer>
    <modules>
        <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
    </modules>
</system.webServer>

Mise à jour: Intellisense peut être le programme d'installation ici:

http://ruslany.net/2009/08/visual-studio-xml-intellisense-for-url-rewrite-1-1/

Mise à jour: Vérifiez que le sectionGroup est identifié dans le dossier %systemroot%\system32\inetsrv\config\applicationHost.config:

<sectionGroup name="rewrite">
    <section name="rules" overrideModeDefault="Allow" />
    <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
    <section name="rewriteMaps" overrideModeDefault="Allow" />
</sectionGroup>

2voto

wrburgess Points 1134

Je crois que le module de réécriture d'URL doit être "installé" dans le fichier web.config de votre système.

Vous devez soit installer le module sur votre application via l'interface IIS 7.0, soit demander à votre hébergeur de le faire pour vous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X