IIS配置伪静态 集成模式 样式丢失

本文描述了在迁移网站到新服务器并配置伪静态规则后遇到的问题,即在IIS的不同应用程序池模式下,静态资源如CSS、JS、图片等无法正常加载的情况及解决方案。通过调整处理程序映射,解决了集成模式下样式文件加载失败的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近将一个老网站迁移到新服务器,因为需要做伪静态配置,在网上找了一些教程跟着配置。结果却出现:按照网上教程配置完后将应用程序池模式改为经典模式,然后验证规则就匹配不了。改成集成模式验证规则能匹配但是网页样式都加载不了,js,css,jpg,png这些静态文件都无法加载,单独访问静态资源出现“没有为扩展名“.XXX”注册的生成提供程序”。

后来在网上看到有人说是因为配置了所有的URL重写,所以导致这些静态资源无法访问。需要将这些静态资源所在文件夹单独配置处理映射。我才发现原来IIS的配置是可以按文件夹逐级配置的,因为之前配置是基于整个网站的,所以所有文件夹都使用的配置的映射程序。

解决方法:在IIS管理器中展开网站的目录,选择那些静态资源的文件夹,在右边面板中的处理程序映射里删除之前配置的*全局匹配映射。就能在集成模式下加载样式文件了。

 

转载于:https://www.cnblogs.com/liaokong/p/9969711.html

public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseInject(string.Empty); // 配置Swagger-Knife4UI(路由前缀一致代表独立,不同则代表共存) app.UseKnife4UI(options => { options.RoutePrefix = "kapi"; foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups()) { options.SwaggerEndpoint("/" + groupInfo.RouteTemplate, groupInfo.Title); } }); // 配置文件服务 var staticRoot = Path.Combine(AppContext.BaseDirectory, "uploads"); if(!Directory.Exists(staticRoot)) Directory.CreateDirectory(staticRoot); app.UseFileServer(new FileServerOptions { RequestPath="/uploads", FileProvider=new PhysicalFileProvider(staticRoot) }); // 动态文件检测中间件(解决子目录刷新问题) app.Use(async (context, next) => { var path = context.Request.Path; if (path.StartsWithSegments("/ops-docs") && !Path.HasExtension(path.Value) && !File.Exists(Path.Combine(AppContext.BaseDirectory, "wwwroot", "ops-docs", path.Value.TrimStart('/')))) { var newPath = path + "/index.html"; context.Request.Path = newPath; } await next(); }); //读取配置静态文件服务 var staticFilesPath = Path.Combine(AppContext.BaseDirectory, "wwwroot", "ops-docs"); app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(staticFilesPath), RequestPath = "/ops-docs" }); app.UseAuthentication(); app.UseRouting(); app.UseCorsAccessor(); app.UseAuthorization(); app.UseInject(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapFallbackToFile("/ops-docs/{*path:nonfile}", "index.html"); }); }分析
最新发布
07-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值