You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Blazor Client WebAssembly至IIS后刷新URL出现404问题求助

Blazor WebAssembly IIS部署后刷新/直接访问子路由404问题解决方法

这个问题的核心是Blazor WebAssembly作为单页应用(SPA),所有路由逻辑都在客户端处理。当你刷新页面或直接输入子URL时,浏览器会向IIS发送物理路径请求,但服务器上不存在对应文件,因此返回404。以下是具体解决步骤:

1. 安装IIS URL重写模块

首先确保你的IIS服务器已经安装了URL重写模块:

  • 打开IIS管理器,查看左侧“模块”列表,确认有“URL Rewrite”项;
  • 如果没有,通过Web平台安装程序搜索并安装“URL Rewrite 2.0”。

2. 添加URL重写规则到web.config

在Blazor应用的发布根目录(通常是wwwroot文件夹)中创建或修改web.config文件,添加以下重写规则,将所有请求导向index.html:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".blat" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dll" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dat" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".pdb" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".wasm" mimeType="application/wasm" />
      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
    </staticContent>
    <rewrite>
      <rules>
        <rule name="Serve Blazor SPA" 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="index.html" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

这个规则会排除真实存在的文件和目录,只将非物理资源的请求转发到index.html,让Blazor客户端路由处理。

3. 检查IIS应用程序池配置

确保站点对应的应用程序池设置正确:

  • 打开IIS管理器,找到应用程序池,右键选择“高级设置”;
  • 将“.NET CLR版本”设置为**“无托管代码”**,因为Blazor WebAssembly不需要服务器端.NET运行时支持。

4. 验证base href配置

你已经设置了<base href="/" />,确认这个配置正确:

  • 该标签必须放在index.html的<head>中,且href值要匹配IIS站点的根路径(如果站点是虚拟目录,需要改为对应路径,比如<base href="/MyBlazorApp/" />)。

完成以上步骤后,重启IIS站点,刷新或直接访问子路由就能正常加载页面了。

内容的提问来源于stack exchange,提问作者Musaffar Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:27:18