首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP .Core MVC配置应用程序根url

ASP .Core MVC配置应用程序根url
EN

Stack Overflow用户
提问于 2021-10-18 08:42:01
回答 2查看 154关注 0票数 1

我有两个ASP .Core MVC应用程序托管在同一个url下。

我已经设法用Nginx将它们分开,这样一条特定的路径就会去app-2,而剩下的路径就会去app-1

http://host -> app-1

http://host/setup -> app-2

我的问题出现在用户连接到app-2时,因为应用程序仍然认为它的应用根是http://host

这导致客户端在下载样式表时遇到404,因为app-2.css存在于http://host/setup/css下,但应用程序在http://host/css中搜索。

app-2.cshtml文件中的"include"-lines如下所示:

代码语言:javascript
运行
复制
<link rel="stylesheet" type="text/css" href="@Url.Content("~/css/app-2.css")" asp-append-version="true" />

有没有什么方法可以“覆盖”或者告诉app-2 ~应该引用<host>/setup/css/而不是<host>/css/

我真的不想硬编码它,以防url在某一时刻发生变化。

EN

回答 2

Stack Overflow用户

发布于 2021-10-19 11:45:45

经过几个小时的搜索,我发现没有办法更改整个way服务器的应用程序根目录。

我最终做的是创建带有选项的PathHelper类,并将其添加到Startup.cs

代码语言:javascript
运行
复制
class PathHelper
{
    public PathHelper(IOptions<PathHelperOptions> opt)
    {
        Path = opt.Path;
        
        if (Path.StartsWith('/'))
        {
            Path = Path[1..];
        }
        if (!Path.EndsWith('/'))
        {
            Path = Path + '/';
        }
    }

    public string Path { get; }
}

class PathHelperOptions
{
    public string Path { get; set; }
}

# Startup.cs
public void ConfigureServices(IServiceCollection services)
{
  services
      .AddScoped<PathHelper>()
      .Configure<PathHelperOptions>(opt =>
      {
          opt.Path = this.configuration.GetSection("URL_SUFFIX");
      });

  [...]
}

然后我在.cshtml文件中使用它,如下所示:

代码语言:javascript
运行
复制
@inject PathHelper helper
<link rel="stylesheet" type="text/css" href="@Url.Content(helper.Path + "css/app-2.css")" asp-append-version="true" />
票数 0
EN

Stack Overflow用户

发布于 2021-10-19 11:57:38

我认为最简单的方法是在来自'app-2‘的页面中包含base标签。

像这样试一下:

代码语言:javascript
运行
复制
<html>
    <head>
        <base href="http://host/setup">
    </head>

现在你的相关链接被发送到'app-2‘。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69613080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档