2017-11-06 17 views
0

UI用のAngularとnode.js(IIS 7.5上で動作する)を使用し、すべてのエンドポイント呼び出し用の.NET Web APIを使用するアプリケーションがあります。角ルーティング、そうでなければmvcルーティング

APIはVisual Studio/IIS Expressとng serveを使用してUIを起動すると、APIルーティングが正常に動作しています。もちろん、彼らは2つの別々のポートで動作しています。

単一のIIS Webサイトに、そして残念ながら単一のアプリケーションプールに展開することが目標です。

は、APIのためのUIのためのhttp://www.mycoolapplication.comhttp://www.mycoolapplication.com/apiのURLを考えると、どのように私はapiapiの子供たちのすべてを一致何のためにルーティングを無視する角度取得するには?

私はRoutesモジュールを介して行くよ、とpathオブジェクトに何かを追加することができるのが大好きだが、角度ルーティングテーブルから何か除くを達成するために何があるように表示されません。

答えて

1

これをフロントエンドアプリ(index.htmlのあるフォルダ)に入れてください。web.config api/*を除くすべてのリクエストを処理します。

<configuration> 
    <system.webServer> 
    <rewrite> 
     <rules> 
     <rule name="API Rule" stopProcessing="true"> 
      <match url="^(api)(.*)$" /> 
      <action type="None" /> 
     </rule> 
     <rule name="Angular" 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="/" /> 
     </rule> 
     </rules> 
    </rewrite> 
    </system.webServer> 
</configuration> 
+0

は、完全に助けを@maximおかげで働きました。何らかの理由で、私はこのシナリオでルーティングのためにweb.configが有効になるとは思わなかった。 APIルールが既に私のweb.configにあるAngularルールの前にあるので、設定は 'rewrite'ルールを順番に処理していなければなりません。 – rcastagna

関連する問題