2016-12-05 3 views
1

Ich brauche eine Hilfe. Ich beginne, angular2 mit Asp.net Core zu entwickeln und alles war perfekt. Zum Umleiten aller 404-Anfrage nach index.html verwende ich diesen Code in der Startup-Klasse.Angular2 Routing mit Asp.net 4.5

Aber ich muss zu asp.net 4.5 zurückkehren und ich habe jetzt ein großes Problem mit dem Routing. Ich versuche, ähnlichen Code in Owin Startup-Klasse zu verwenden, aber das hat ein Problem nicht behoben.

Wie verschiebe ich alle Anfragen nach index.html? Ein Beispiel: Ich habe einen Link, der umleiten/abmelden, aber mit diesem Code jetzt app.module nicht sehen/abmelden und ich werde auf die Startseite der App weitergeleitet.

In Tutorial, wie man mit asp 4.5 (https://angular.io/docs/ts/latest/cookbook/visual-studio-2015.html) in letzten Absatz verwenden angular2 sagt:

Wenn diese Anwendung den Winkel Router verwendet wird, könnte eine Aktualisierung des Browsers zurückkehrt 404 - Seite nicht gefunden. Schau dir die Adressleiste an. Enthält es eine Navigations-URL (ein "Deep-Link") ... einen anderen Pfad als/oder /index.html?

Sie müssen den Server konfigurieren, um Index.html für diese Anforderungen zurückzugeben. Bis dahin löschen Sie den Navigationspfad und aktualisieren Sie ihn erneut.

Wie geht das? Vielen Dank!

Antwort

1

Sie könnten alles auf die index.html Seite umleiten, dieses Problem zu lösen, ist hier der Konfigurationscode ich in einem meinem Projekt verwendet:

<rewrite> 
    <rules> 
    <rule name="RedirectEverything" stopProcessing="true"> 
     <match url=".*" /> 
     <conditions logicalGrouping="MatchAll"> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     <add input="{REQUEST_URI}" matchType="Pattern" pattern="^/api/" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="/index.html" /> 
    </rule> 
    </rules> 
</rewrite> 

Fügen Sie diese unter dem system.websever Abschnitt in web.config

+0

Danke Mann, du bist Genie! – Djanko