wwwroot
是 ASP.NET Core 的**“Web根目录”,也叫“静态文件根目录”。它只是一个约定俗成的文件夹名**,你可以改成任何名字,甚至挪到磁盘外面,但默认就叫
wwwroot
。一句话:
把浏览器能直接下载到的静态文件(html、css、js、图片、字体、pdf……)统统扔进去,运行时 ASP.NET Core 会原样吐给客户端。
-
默认位置
项目根目录下有一个wwwroot
文件夹,创建模板时就会自动生成。 -
里面放什么
wwwroot/ ├── css/site.css ├── js/site.js ├── images/logo.png └── favicon.ico
-
浏览器怎么访问
文件在磁盘上的路径是C:\Code\MyApp\wwwroot\images\logo.png
浏览器只要敲https://localhost:5001/images/logo.png
就能拿到,URL 里不出现wwwroot
。 -
为什么能访问
因为 ASP.NET Core 管道里默认加了静态文件中间件:
app.UseStaticFiles(); // 这句话把 wwwroot 映射到“/”
没有这一行,浏览器就 404。 -
改名字/改路径
在Program.cs
里随意改:
builder.WebHost.UseWebRoot("StaticAssets"); // 现在叫 StaticAssets
或者app.UseStaticFiles(new StaticFileOptions {FileProvider = new PhysicalFileProvider(Path.Combine(builder.Environment.ContentRootPath, "MyStaticFiles")),RequestPath = "/assets" // URL 前缀变成 /assets/... });
-
与安全有关
-
wwwroot
里的文件没有任何授权保护,谁都能下载。 -
不要把机密文件、源码、配置文件丢进去。
-
记忆口诀:
“浏览器能直接看到的,统统放 wwwroot;看不到的,千万别放。”