J'ai donc un itinéraire comme celui-ci dans mon application MVC 3 fonctionnant sous IIS 7:
routes.MapRoute( "VirtualTourConfig", "virtualtour/config.xml", new { controller = "VirtualTour", action = "Config" } );
4 Réponses :
Jusqu'à présent, la meilleure réponse à cela que j'ai trouvé est d'appliquer globalement Si quelqu'un a une meilleure solution, j'aimerais le voir. Je préférerais de loin appliquer sélectivement un drapeau "romptexistingfiles" sur des itinéraires individuels, mais je ne sais pas s'il y a un moyen de le faire. P> P> routes.routeeexistingfiles = true code> puis ignorez de manière sélective les itinéraires que je veux passer à des fichiers existants tels que .js, .css , etc. Alors j'ai fini avec quelque chose comme ceci:
Aucune solution ici, juste une idée. P>
Vous pouvez essayer d'implémenter une solution en fonction de votre propre VirtualPathProvider CODE>
permettra de fournir votre propre cartographie des chemins Web vers des chemins système de fichiers et d'utiliser le fournisseur par défaut pour tous les chemins que vous ne voulez pas prendre en charge. P>
Une solution très simple, certainement si vous considérez la réponse de Scott, par exemple: Cela vous donne à la fois la simplicité de simplement fournir des chemins à la routéculité et évite les travaux de devoir initier. un virtuelPathProvider. p> routes.ignoreroute ("Modèles / *. HTML"); code>,
routes.ignoreroute ("scripts / *. JS"); code> et
routes.ignoreroute ("styles / *. CSS"); code>. p>
Vous pouvez essayer urlewiting EG:
<configuration> <system.webServer> <rewrite> <rules> <rule name="Dashboard"> <match url="^dashboard/(.+)" /> <action type="Rewrite" url="ng/dashboard/{R:1}" /> </rule> </rules> </rewrite>
Je ne pense pas qu'il y ait un moyen facile d'y parvenir. Pourquoi ne déplacez-vous simplement pas le fichier statique vers le dossier
~ / app_data code>?