如何解决从同一个 wwwwroot 为多个站点提供服务
我有一个 ASP.NET Core 5 MVC 应用程序,它使用 ASP.NET Core Web Optimizer 为多个站点提供服务;例如,
https://example.com
https://example.com/store1
https://example.com/store2
所有网站都具有相同的 wwwwroot
目录。
我尝试了下面的代码在我的 wwwwroot
中提供单个 startup.cs
并且它起作用了。但是,Guru 写道,每个中间件都应该只调用一次。
如何使用同一个 wwwroot
目录为多个网站提供服务?
在我的startup.cs
中:
public void Configure(IApplicationBuilder app,IWebHostEnvironment env)
{
app.UseWebOptimizer();
app.UseWebOptimizer(env,new FileProviderOptions[] { new FileProviderOptions()
{
RequestPath = new PathString("/store1"),FileProvider = env.WebRootFileProvider
}
});
app.UseWebOptimizer(env,new FileProviderOptions[] { new FileProviderOptions()
{
RequestPath = new PathString("/store2"),FileProvider = env.WebRootFileProvider
}
});
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
RequestPath = new PathString("/store1")
});
app.UseStaticFiles(new StaticFileOptions
{
RequestPath = new PathString("/store2")
});
}
解决方法
这些网站是不同的独立项目吗?或者它们只是您项目下的不同路线? 如果它们是路由,您应该简单地更改项目中的路由配置。 如果它们是独立站点,您应该考虑在 Web 服务器的根应用程序下设置多个应用程序,然后将每个项目发布到其应用程序。 对于 IIS,有关于如何操作的 Microsoft 指南:https://docs.microsoft.com/en-us/iis/configuration/system.applicationhost/sites/site/application/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。