MVC Route, wo Pfad existiert

8

Ich versuche eine Route zu erstellen, die eine URL wie

beschriftet %Vor%

Ich habe aber auch ein tatsächliches Verzeichnis unter der Site, das / tech ist und andere statische Ressourcen enthält. Nicht meine Designwahl, aber ich migriere eine ältere Seite zu mvc und möchte nicht ein paar sehr alte Links zerstören.

Meine Route scheint weiterhin zu versagen, und was ich herausfinden kann, ist, dass der Server dieses Verzeichnis sieht und versucht, die Standarddatei von ihm zu holen ... aber es wurde keine gefunden, und es schlägt fehl.

Ich möchte, dass es stattdessen meine Route benutzt und ich kann meine Sichtweise bedienen. Irgendwelche Best Practices dafür?

UPDATE: Ich habe versucht, RouteExistingFiles = true zu verwenden, was dies funktionierte, aber dann hatte ich Probleme mit Dateien, die in diesen Verzeichnissen existierten. (zum Beispiel: Ссылка ). Ich fing an, IgnoreRoute-Einträge für all die verschiedenen Dateitypen hinzuzufügen, die ich ignorieren wollte (dh .jpg-Dateien ..), aber das wurde zu einer großen Unordnung. Es muss einen besseren Weg geben?

    
Brady Moritz 27.08.2011, 19:55
quelle

1 Antwort

13

Sie müssen die RouteExistingFiles-Eigenschaft Ihres RouteCollections-Objekts auf true festlegen. Dadurch wird Ihr Routing den physischen Speicherort überschreiben, wenn ein Konflikt gefunden wird.

%Vor%

Um Dateien / Erweiterungen selektiv zu ignorieren, können Sie Folgendes verwenden:

%Vor%

Ein weiterer Ansatz, der Ihnen helfen könnte, wenn Sie den Ansatz ignoreRoute nicht mögen, ist, die ViewEngine zu erweitern und die Implementierung der Datei exists mit eigenen Regeln zu überschreiben.

%Vor%     
TheCodeKing 27.08.2011, 21:24
quelle