2011-05-13 5 views
1

Je travaille sur un projet de formulaires Web ASP.NET 4.0 qui utilise le routage de pages pour diffuser du contenu CMS.Problème de routage ASP.NET 4

Le code exact utilisé est:

routes.MapPageRoute("ContentNavigateUrl", "{*navigateurl}", "~/Router.aspx", true, new RouteValueDictionary { }, new RouteValueDictionary { { "navigateurl", @"[-_a-zA-Z0-9/]+(\.aspx(\?.+)?)?" } }); 

Le site a un mélange de pages ASPX fixes et pages CMS servi par Router.aspx.

Le contenu du CMS a des URL comme/xyz/abc.

Tout fonctionne bien sauf lorsqu'un dossier existe et qu'il n'y a pas de page par défaut dans le dossier IIS envoie une erreur 403 (la navigation dans le répertoire n'est pas activée).

À titre d'exemple:

Il y a un dossier réel appelé/xyz qui a quelques pages ASPX en elle, mais pas de page par défaut. Si je demande http://domain.com/xyz j'obtiens une erreur 403 au lieu de cela en utilisant Router.aspx comme je le veux et en affichant mon contenu CMS.

Y a-t-il un paramètre IIS à modifier ou quelque chose dans mon code?

Merci.

+0

J'ai essayé d'intercepter ces erreurs 403 dans web.config mais il ne semble pas faire quoi que ce soit: John

+0

BTW, quelle version d'IIS sont utilisés en utilisant ? Ma supposition que votre problème a quelque chose à voir avec les mappages de gestionnaires, essayez de jouer avec eux un peu (par exemple, essayez de désactiver le mappage du gestionnaire StaticFile). – Dmitry

+0

Je n'ai pas d'autre accès au serveur que de copier des fichiers. Je crois que c'est IIS 7.5. – John

Répondre

0

Le problème a été résolu en ajoutant un mappage d'erreur pour le code d'état 403 afin de rediriger vers /Router.aspx dans IIS.