.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中对根应用或网站进行精细控制,而不干扰子应用的配置。

相关推荐
用户2986985301421 小时前
.NET 文档自动化:Spire.Doc 设置奇偶页页眉/页脚的最佳实践
后端·c#·.net
赵榕2 天前
ClaimsPrincipal序列化为Json的正确姿势
.net
YuMiao2 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
追逐时光者2 天前
一款使用 C# 编写专为 Windows 11 打造的文件资源管理器增强工具!
后端·.net
Sinclair5 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
用户298698530145 天前
程序员效率工具:Spire.Doc如何助你一键搞定Word表格排版
后端·c#·.net
牧马人win5 天前
SmartDapper.Repository
.net
Rockbean6 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek