2016-05-27 7 views
1

私はUmbraco 6.4のウェブサイトを持っています。私は今、AngularJS 2 SPAを設置しようとしています。UmbracoのAngularJS SPA

Umbraco:/

角度:/appname

私の問題は、Umbracoで行われたルーティングです。 Umbracoはルートレベルまでのすべてのルーティングを処理するので、Angularアプリが更新されるとき:/appname/apage私は404 - Not Foundを取得します。

UrlRewriting.configにURLリライトを追加しましたが、宛先URLが常にindex.htmlというようにしています。私が行うことができるようにしたいと思い何

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

はパスが/myapp/から始まるたびに私はUmbracoのルーティングを無効にすることができます書き換えを定義しています。

私はthisブログ記事を読んだことがありますが、私のSPAを構築した方法はUmbracoとは関係がないため、実際には私の問題には関係しません。また、私はルートディレクトリとしてUmbracoを持っている必要があります。したがって、私は私にもこれを行うためにIISに依存することはできません。

誰かが、誰かが私の方向を指すことができれば素晴らしいと思います。同様の問題を有することができる他の誰のために感謝

答えて

0

私はできweb.configから/appnameディレクトリを追加することで、この問題を回避し、次の設定を追加します。

<?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> 
関連する問題