2010-06-30 2 views
9

Ich arbeite an einer Site, die teilweise statischen Inhalt und teilweise MVC ist. Der Stamm der Website ist index.html und ich habe alle Controller explizit geroutet und alle HTML-Dateien ignoriert. Wenn Sie jedoch auf den Stamm der Website klicken, wird versucht, sie zu routen. Wie kann ich der Routen-Engine mitteilen, dass sie den Stamm der Site ignorieren soll? www.mysite.com sollte nicht weitergeleitet werden, sondern zu index.html gehen. Hier ist meine Routing-Konfiguration:MVC wird aufgefordert, die Route zum Site-Stamm zu ignorieren

  routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
     routes.IgnoreRoute("*.html|js|css|gif|jpg|jpeg|png|swf"); 

     routes.MapRoute(
      "vendor_signup","{vendor}/signup/{action}/", 
      new { controller = "Signup", action = "Index", vendor=UrlParameter.Optional} // Parameter defaults 
     ); 
     routes.MapRoute(
      "signup","signup/{action}/", 
      new { controller = "Signup", action = "Index", vendor=Vendors.PCICentral} // Parameter defaults 
     ); 
//more routes below 

Antwort

3

Eine der Routen war immer noch in {}, die es versucht, die Wurzel zu analysieren.

+0

Hallo, Sie oben Code korrekt mit dieser letzten Idee? – JasonMenny

16

Ich glaube, was Sie meinen ist, wenn jemand auf Ihre Website / zugreift, möchten Sie MVC nicht verwenden, aber zeigen Sie eine statische Seite. Um dies zu erreichen, müssen Sie MVC anweisen, diese Route zu ignorieren und von Webforms verarbeiten zu lassen. Webforms sollte dann /index.html zeigen, wenn es die Anforderung / erhält.

einfach das Hinzufügen dieser vor Ihren Routen funktionieren sollen:

routes.IgnoreRoute(""); 
+0

Das Hinzufügen dieser Ignorier-Route hat nicht funktioniert. Ich erhalte: * HTTP Error 403.14 - Forbidden Der Webserver ist so konfiguriert, dass er den Inhalt dieses Verzeichnisses nicht auflistet. * – Organic

+0

@Organic In diesem Fall überprüfen Sie Ihre Standarddokumente. Entweder haben Sie keine index.html oder ähnliches, oder sie ist nicht in IIS eingerichtet. Wechseln Sie in IIS zu Ihrer Website, und sehen Sie sich die Eigenschaft "Standarddokument" an. Wenn eines dieser Dokumente vorhanden ist, wird dieses Dokument angezeigt, andernfalls erhalten Sie diese Warnung. –

Verwandte Themen