TL;DR;
index.html
の<base>
タグをコメントアウトする。
<base>
タグ
既定の動作では、HTML内で相対パスを記述したとき、現在読み込んでいるHTMLのパスを基準として解決されます。しかし、<base>
タグが指定されていると、そのパスを基準として解決されます。
Blazor WebAssemblyの<base>
タグ
Blazor WebAssembyでは、起動時にindex.html
から、_framework/blazor.webassembly.js
が読み込まれるのですが、<base href="/">
が指定されているので、
- http://example.com/_framework/blazor.webassembly.js
- fie:///_framework/blazor.webassembly.js
といったように解決されます。
デプロイしたときに、index.html
のディレクトリ内のファイル群をルート以外にデプロイした場合でも、<base>
タグのせいで、上記と同じようなアドレスに解決されます。そのため、404になって読み込めないのです。