❤️ 关注 Furion 微信公众号有惊喜哦!
🫠 遇到问题了
Skip to main content
⭐️ 开通 VIP 服务仅需 499 元/年,尊享 365 天项目无忧23 立即开通23 ⭐️
特别赞助

34.4 二级虚拟目录部署

34.4.1 关于二级虚拟目录

通常我们的站点都是部署在网站的根目录下的,但是有些时候,我们可能将网站根目录下的目录作为二级站点或子站点,这个时候,就会出现 404 错误了。

这个时候就需要进行一些特殊配置了。

34.4.2 针对在 IIS 网站下添加 Application 情况

版本说明

以下内容仅限 Furion 3.2.0 + 版本使用。

如果网站是在 Site 下面添加 Application 下部署,则遵循以下步骤:

  1. 添加 Application Pool 应用程序池,并设置为非托管模式
  1. 添加 Application 并选择刚刚创建的应用程序池


  1. 添加应用配置:
{
"SpecificationDocumentSettings": {
"ServerDir": "IIS中应用程序名(Applicaiton)"
}
}

该配置主要是解决 Swagger 出现 404 问题。

个别情况

如果配置之后还 Swagger 还出现不能加载 swagger.json 文件问题,那么需修改启动注册代码:

app.UseInject(string.Empty);  // 确保参数是 strng.Empty

34.4.3 针对非 IIS 下部署情况

注意事项

这里是针对 非 IIS 部署使用的!!!

34.4.3.1 配置 AppSettings

我们只需要配置 AppSettings 即可:

{
"AppSettings": {
"VirtualPath": "/虚拟目录"
}
}

34.4.3.2 .NET6 WebApplication 模式下虚拟目录配置

版本说明

以下内容仅限 Furion 3.2.0 + 版本使用。

由于在 .NET6WebApplication 模式下微软底层发生了改变,所以需要使用 app.UseVirtualPath() 包裹 app.UseInject()app.MapRouteControllers()

app.UseVirtualPath(app =>
{
app.UseInject(String.Empty); // 注意 String.Empty 只是例子,可以不填或填其他的,见一分钟入门
app.MapRouteControllers();
});

注意,app.MapRouteControllers() 是替换 app.MapControllers() 的!

34.4.4 反馈与建议

与我们交流

给 Furion 提 Issue