2016-12-19 19 views
0

私はASP.NET 4.5バックエンドプロジェクトでAngular 2フロントエンドで作業しています。このプロジェクトでは、私のdistフォルダーを指しているwwwrootthis tutorialのおかげ)の並べ替えを構成しました。キャッチオールRewriteRuleとPhysicalFileSystemの組み合わせ

しかし、それはAngular 2プロジェクトなので、私も今、私の問題は、私はPhysicalFileSystemを追加するので、私はもう私のバンドルファイルを取り出すことができないということですindex.htmlページ

<rule name="AngularJS" stopProcessing="true"> 
     <match url="[a-zA-Z]*" /> 
     <conditions logicalGrouping="MatchAll"> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" /> 
     <add input="{REQUEST_URI}" pattern="^/oauth" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="/" /> 
    </rule> 

にすべてをリダイレクトしています。私はmain.bundle.js(これはdist/main.bundle.jsにあります)を要求していますが、これはファイルシステムのおかげで正しく検索されるはずですが、私にとって不運なことに、RewriteRuleがキャッチしてindex.htmlページを表示しています。

どうすればこの問題を解決できますか?

TL; DR すべてをindex.htmlにリダイレクトするだけでなく、distの下に論理的なルートフォルダもあります。私のサーバはdistからすべてを取得することを望みますが、物理的に存在しないので、RewriteRuleの下にあります。

答えて

0

同じ問題が発生している人にとっては、問題は、これらのファイルが物理的に存在していないという事実に由来しており、すべての要求はindex.htmlにリダイレクトされています。

この小さな問題を修正するために、私は私のシステムを動作させる静的ファイルへの要求を処理するために私のRewriteRuleに少し例外を追加しました!

<add input="{REQUEST_URI}" pattern="^.*\.(jpg|css|js|gif|png|eot|ttf|woff)$" negate="true" /> 
関連する問題