デフォルトをホストしようとしていますReactローカルのアプリケーションIISシステム。
構成は次のとおりです
前提条件、つまりasp.net core 2.1ホスティングバンドルとランタイムをインストールしました。
私がアプリケーションを公開したとき、そのディレクトリは次のとおりです
そして私が作ったホスティング構成:
しかし、ブラウザでアプリケーションを実行すると、404エラーが表示され、アプリケーションが見つかりません。
ただし、ASP.NET CORE 2.0では、同じ構成で動作します。
このASP.NET CORE 2.1は、そのようなアプリケーションのサポートを削除しましたか?
私は考えられるすべてのフォーラムを通過しましたが、どのフォーラムも、React-Reduxテンプレートを使用して2.1アプリケーションをホストする方法について言及していません。
助けてください
問題を見つけたと思います。これは、ASP.NET CORE 2.1のデフォルトプロジェクトに付属するhttps enable構成です。
IISサーバーでホストしたとき、httpsのURLにリダイレクトされていましたが、IISがIISプロトコル用に構成されていませんでした。
私のニーズのために、StartUp.csファイルのConfigure
メソッドからHTTPSリダイレクトを削除しました
削除済みapp.UseHttpsRedirection()
現在はHTTPにリダイレクトされていました
これでうまくいきました。
ビルドフォルダーにあるweb.configは次のようになります。
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="React Routes" 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="/dynamotoolsapi" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
/ dynamotoolsapiはたまたま私の.netソリューション全体のディレクトリなので、それに応じて変更します。
いいえ、ビルドフォルダーを削除する必要はありません。サーバーで削除する必要はありません。