asp.net中的wwwroot是什么

wwwroot 是 ASP.NET Core 的**“Web根目录”,也叫“静态文件根目录”。
它只是一个约定俗成的文件夹名**,你可以改成任何名字,甚至挪到磁盘外面,但默认就叫 wwwroot
一句话:
把浏览器能直接下载到的静态文件(html、css、js、图片、字体、pdf……)统统扔进去,运行时 ASP.NET Core 会原样吐给客户端。

  1. 默认位置
    项目根目录下有一个 wwwroot 文件夹,创建模板时就会自动生成。
  2. 里面放什么
    wwwroot/
    ├── css/site.css
    ├── js/site.js
    ├── images/logo.png
    └── favicon.ico
     
  3. 浏览器怎么访问
    文件在磁盘上的路径是
    C:\Code\MyApp\wwwroot\images\logo.png
    浏览器只要敲
    https://localhost:5001/images/logo.png
    就能拿到,URL 里不出现 wwwroot
  4. 为什么能访问
    因为 ASP.NET Core 管道里默认加了静态文件中间件:

    app.UseStaticFiles();   // 这句话把 wwwroot 映射到“/”
     
    没有这一行,浏览器就 404。
  5. 改名字/改路径
    Program.cs 里随意改:

    builder.WebHost.UseWebRoot("StaticAssets");   // 现在叫 StaticAssets
     
    或者
     
    app.UseStaticFiles(new StaticFileOptions
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(builder.Environment.ContentRootPath, "MyStaticFiles")),
        RequestPath = "/assets"      // URL 前缀变成 /assets/...
    });
     
  6. 与安全有关
    • wwwroot 里的文件没有任何授权保护,谁都能下载。
    • 不要把机密文件、源码、配置文件丢进去。

记忆口诀:
“浏览器能直接看到的,统统放 wwwroot;看不到的,千万别放。”
posted @ 2025-09-22 10:22  yinghualeihenmei  阅读(10)  评论(0)    收藏  举报