2015-08-20 5 views
11

Ich habe eine einfache Aurelia App erstellt, beginnend mit this repo und ich habe versucht das # (hashtag) in der URL Leiste loszuwerden.Konfiguriere IIS Server um mit Aurelia Framework zu arbeiten und push state

Ich habe 2 Projekte, eine läuft WebApi auf einer Maschine und eine läuft ein leeres Webprojekt (nicht MVC) auf einer anderen Maschine. Auf der official documentation website es sagt nur, wie Sie Ihre Routen konfigurieren, aber mein Projekt ist nicht MVC-orientiert.

Wie kann ich den IIS-Server von Web.config in einem Sinne konfigurieren, dass, wenn ich auf http://localhost/home zugreifen, sollte es das Aurelia-Framework anstelle der 404 nicht gefunden Seite beginnen?

Antwort

16

Ich verwende die Azure, die eine web.config benötigt, um nicht-Hash-Routing korrekt zu behandeln, es leitet nur alle Routen in die index.html, die die Aurelia App enthält. Ohne es (oder eine ähnliche Technik) gab es 404s.

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.webServer> 
    <rewrite> 
      <rules> 
       <remove name="redirect all requests" /> 
       <rule name="redirect all requests" stopProcessing="true"> 
        <match url="^(.*)$" ignoreCase="false" /> 
        <conditions logicalGrouping="MatchAll"> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" /> 
        </conditions> 
        <action type="Rewrite" url="index.html" appendQueryString="true" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

Hoffe, das hilft.

+0

Vielen Dank. Ich habe etwas Ähnliches benutzt :) –

+0

Hey Matt, wo stellst du diese 'web.config'? Ich habe meine innerhalb de 'wwwroot' Ordner hinzugefügt, aber ich bekomme immer 404s –

+0

@SergiPapaseit das ist genau wo ich es ausdrücken, das einzige Mal, dass ich 404s war mit einem Typ von Datei, die standardmäßig nicht behandelt, wie woff oder JSON-Dateien. –