ルートパスが要求されたときに、index.html
を返却する方法を書いていきます。
※ ここでのルートパスは、下のように /
で終わる URL とします。
http://localhost:xxxx/
対応方法1
アプリケーションのスタートアップに、以下のコードを追加します。
app.UseDefaultFiles();
ただ、この方法だと index.html
だけではなく、default.html
など、他の HTML を返すことがあるみたいです。
対応方法2
ルートパスの要求に対して、返却する HTML を1つに絞りたい場合は、以下のコードを追加すると良さそうです。
var opt = new DefaultFilesOptions(); opt.DefaultFileNames.Clear(); opt.DefaultFileNames.Add("index.html"); app.UseDefaultFiles(opt);
スタートアップの例
スタートアップコードの例は以下の通りです。
Program.cs
var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllersWithViews(); var app = builder.Build(); // Configure the HTTP request pipeline. var opt = new DefaultFilesOptions(); opt.DefaultFileNames.Clear(); opt.DefaultFileNames.Add("index.html"); app.UseDefaultFiles(opt); app.UseStaticFiles(); app.UseAuthorization(); app.MapControllers(); app.Run();