.NET IIS发布项目后设置虚拟路径访问文件 404

解决方案:

找到Startup.cs中适当配置静态文件中间件:

确保调用了UseStaticFiles中间件

cs 复制代码
public void Configure(IApplicationBuilder app)
{
    app.UseStaticFiles(); // 确保这行在UseRouting之前

    app.UseRouting();

    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers(); // 你的自定义路由
    });
}

再检查Web.config配置文件里有

cs 复制代码
<location path="." inheritInChildApplications="false"></location>

假设有一个网站,其根目录下有多个子应用程序,你可能想为根网站设置一些特定的HTTP头部,而不希望这些设置应用到子应用程序。你可以在web.config文件中这样配置:

cs 复制代码
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <httpProtocol>
        <customHeaders>
          <add name="X-Frame-Options" value="SAMEORIGIN" />
          <add name="X-Content-Type-Options" value="nosniff" />
        </customHeaders>
      </httpProtocol>
    </system.webServer>
  </location>
</configuration>

这样静态文件请求(如图片、CSS、JavaScript文件)就不会被路由系统拦截。

<location path="." inheritInChildApplications="false">是一个强大的配置工具,用于在IIS中对根应用或网站进行精细控制,而不干扰子应用的配置。

相关推荐
webmote338 小时前
从零打造虚拟小智:用浏览器模拟 IoT 设备的实践之路
aigc·.net·嵌入式
土星云SaturnCloud9 小时前
从云端到边缘:基于土星云SE110S的智能视频分析轻量化部署方案(上)
服务器·人工智能·ai·边缘计算
梦想的颜色9 小时前
MySQL 查询性能核武器
运维·服务器·数据结构·数据库·mysql
CingSyuan10 小时前
服务器RAID阵列与硬盘状态运维指南:RAID级别、降级、踢盘、掉盘、热备盘、重建风险、硬盘指示灯与点灯流程解析
运维·服务器
pixelpilot110 小时前
Moldflow下载安装教程(附安装包)Moldflow 2026超详细图文安装教程
运维·服务器·其他
luoqice10 小时前
Windows下局域网rtsp流媒体服务器搭建-测试
服务器·windows·音视频
计算机安禾11 小时前
【算法分析与设计】第43篇:空间复杂度类与Savitch定理
java·服务器·网络·数据库·算法
ulias21212 小时前
深挖进程间通信的奥秘
java·linux·服务器·开发语言·c++·算法
luj_176812 小时前
局部两极分析破解数学建模难题
服务器·c语言·开发语言·经验分享·算法
技术不好的崎鸣同学12 小时前
x64汇编之前篇内容复习(上)
运维·服务器