2016-05-27 4 views
1

Ich habe eine Umbraco 6.4 Website, unter der ich jetzt versuche ein AngularJS 2 SPA zu installieren.AngularJS SPA in Umbraco

Umbraco: /

Eckig: /appname

Mein Problem mit dem Routing ist, die von Umbraco erfolgt. Da Umbraco das gesamte Routing bis zur Root-Ebene abwickelt, wenn die Angular-App aktualisiert wird: /appname/apage bekomme ich eine 404 - Not Found.

Ich habe eine URL-Rewrite in der UrlRewriting.config hinzugefügt, aber ich habe es in einer Weise, dass die Ziel-URL immer die index.html Datei ist.

<add name="myapp" virtualUrl="^~/myapp/*" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/myapp/index.html" ignoreCase="true" /> 

Was würde ich zu tun, um die Lage sein mag, ist eine Rewrite zu definieren, die mir das Umbraco-Routing kann außer Kraft setzen, wenn der Pfad mit /myapp/ beginnt.

Ich habe gelesen this Blogpost, aber es bezieht sich nicht wirklich auf mein Problem, weil die Art, wie ich mein SPA gebaut habe, hat es nichts mit Umbraco zu tun. Außerdem muss ich Umbraco als Root-Verzeichnis haben, und daher kann ich mich auch nicht darauf verlassen, dass IIS dies tut.

Es wäre toll, wenn jemand, jemand, mich in die Richtung zeigen könnte. Dank

Antwort

0

Für alle anderen, die ein ähnliches Problem haben:

ich in der Lage durch Zugabe eines web.config, um das /appname Verzeichnis, um dieses Problem zu arbeiten und hinzugefügt, um die folgende Konfiguration.

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
     <rules> 
      <rule name="ruleName" stopProcessing="true"> 
       <match url=".*" /> 
       <conditions logicalGrouping="MatchAll"> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
       </conditions> 
       <action type="Rewrite" url="/myapp/" /> 
      </rule> 
     </rules> 
     </rewrite> 
     <defaultDocument enabled="true"> 
     <files> 
      <clear /> 
      <add value="index.html" /> 
     </files> 
     </defaultDocument> 
    </system.webServer> 
</configuration>