Ich habe eine ASP.NET MVC 4 App (mit .NET Framework 4.5) mit erweiterungsfreien URLs. Die Site enthält einige statische Dateien, aber alle erweiterungsfreien Anfragen sollten in MVC-Routing gehen.So leiten Sie eine Anforderung für ein Verzeichnis auf der Festplatte an ASP.NET MVC weiter?
Alles funktioniert gut für Anfragen wie:
- /
- /news
- /fr/news
Allerdings, wenn ich eine Anfrage machen/fr ich den Fehler :
HTTP Error 403.14 - Forbidden,
The Web server is configured to not list the contents of this directory.
Ich verstehe, dass dies ist weil es tatsächlich ein/fr-Verzeichnis auf der Festplatte gibt, möchte ich diese Anfrage dennoch meiner MVC-App zuordnen. Es ist keine Option, das fr-Verzeichnis zu entfernen, da es einige statische Dateien enthält.
Ist das möglich? Ich habe versucht, runAllManagedModulesForAllRequests="true"
zum Modulelement in system.webServer hinzuzufügen (ich will nicht wirklich tun, aber es half nicht irgendwie).
Bearbeiten - im Falle seiner nützlich, hier ist das Routing:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("cid/{*pathInfo}");
routes.MapRoute(
"Page",
"{*PageId}",
new { controller = "Page", action = "Page" }, // Parameter defaults
new { pageId = @"^(.*)?$" } // Parameter constraints
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
ich das Routing hinzugefügt, obwohl ich bin nicht sicher, dass dies relevant ist, da MVC Routing niemals für die/fr-Anfrage eintritt. Ich bin mir ziemlich sicher, dass dies auf das DirectoryListingModule zurückzuführen ist, aber ich kann das nicht aus dem Bild herausholen (wie beschrieben unter: http://stackoverflow.com/questions/21842206/how-to-disable- oder- repriorize-iis-directorylistingmodule-under-mvc-modul) – Will
Schauen Sie hier [http://stackoverflow.com/a/17336588/3383479] (http://Stackoverflow.com/a/17336588/3383479) –
Nicht sicher wie das hilft, wie gesagt ich kann das/fr-Verzeichnis nicht löschen – Will