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

Windows Server 2019上IIS 10无法运行ASP.NET MVC网站求助

排查ASP.NET MVC部署到IIS 10后404错误的步骤

1. 核对IIS网站核心配置

  • 确认网站物理路径准确指向你复制的发布文件夹,路径无拼写错误且文件夹确实存在于服务器。
  • 检查网站绑定信息:访问时用的IP/域名、端口要和绑定设置完全匹配,hosts文件的映射(如服务器IP 你的域名)要正确生效。
  • 应用程序池配置必须对应:
    • .NET CLR版本选v4.0.30319(适配.NET 4.7.2),绝不能选“无托管代码”。
    • 托管管道模式设为集成(ASP.NET MVC适配该模式)。
    • 若用默认ApplicationPoolIdentity,需给发布文件夹额外授予该身份的读写权限(仅IUSR和IIS_IUSRS权限可能不足)。

2. 重新注册ASP.NET到IIS

以管理员身份打开命令提示符,执行对应命令完成注册:

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

(32位应用替换为Framework路径)

3. 确认URL重写模块已安装

ASP.NET MVC依赖该模块解析路由(如/Home/Index这类URL),缺失会直接导致路由匹配失败:
打开服务器管理器,通过“添加角色和功能”路径,确认Web服务器(IIS)> Web服务器> 应用程序开发> URL重写已勾选安装。

4. 检查发布文件完整性

对比本地发布目录和服务器文件夹,确保关键文件/目录存在:

  • web.config:路由配置未被篡改,确认<routes>节点规则正确。
  • bin文件夹:包含所有必要DLL,尤其是System.Web.Mvc.dll等ASP.NET MVC核心程序集。
  • 发布时选择文件系统方式,并勾选“部署依赖项”(确保服务器缺失的.NET组件被一并部署)。

5. 启用详细错误日志定位原因

  • 进入IIS管理器的网站设置,点击错误页,编辑功能设置为“详细错误”。
  • 再次访问报错URL,查看详细错误信息,会明确指出404的具体诱因(如路由未匹配、文件缺失、权限拦截等)。

6. 确保路由模块正常工作

在web.config的<system.webServer>节点添加或确认以下配置,保证路由模块能处理所有请求:

<modules runAllManagedModulesForAllRequests="true">
  <remove name="UrlRoutingModule-4.0" />
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>

内容的提问来源于stack exchange,提问作者Kumar C

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 11:55:00