2015-06-19 7 views
6

Utilizzo ASP.NET 5 in cui viene modificata l'intera struttura della cartella e viene sostituito web.config (rispetto alle versioni precedenti di ASP.NET). Sto facendo lato client di routing utilizzando angularJS e ho questo percorso:Riscrittura URL in ASP.NET 5

.when('/movies/add', { 
      templateUrl: '/Views/add.html', 
      controller: 'MoviesAddController' 
     }) 

Tutto funziona come anela come mi metto sul mio index.html e fare clic su un collegamento a/film/ADD. Se ricarico la pagina utilizzando i/film/aggiungere URL, il server mi dà un 404. Secondo questo tutorial devo fare una riscrittura in web.config, in questo modo:

<!-- from http://stackoverflow.com/questions/25916851/wrapping-staticfilemiddleware-to-redirect-404-errors --> 

<configuration> 
<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
    <rewrite> 
    <rules> 
     <!--Redirect selected traffic to index --> 
     <rule name="Index Rule" 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> 
</system.webServer> 
</configuration> 

Sto usando IIS espresso 10.0 (in anteprima di Windows 10). Capisco che la parte in web.config debba ancora esistere in ASP.NET 5 per configurare IIS ma non ottengo alcun risultato da questo. Devo fare qualcosa di diverso usando IIS Express? Esiste un'altra soluzione più generale fornita in ASP.NET 5?

Grazie!

+0

web.config si mostra è già una risposta per me :) – CularBytes

risposta

6

web.config è ancora supportato ma dovrebbe essere nella cartella wwwroot. Potrebbe mancare il modulo Url Rewrite per IIS.

In alternativa, è possibile scrivere un middleware OWIN personalizzato per supportare la modalità di routing html5.

vedere questo per un esempio: http://geekswithblogs.net/shaunxu/archive/2014/06/10/host-angularjs-html5mode-in-asp.net-vnext.aspx

+0

Ah, grazie! Ovviamente dovrebbe andare nella cartella wwwroot, non so perché l'ho perso. – mikeesouth