c# - ASP.NET Core 路由前缀
问题描述
我正在开发一个 ASP.NET Core 应用程序。我的应用程序在 url 上使用 NGinx 托管http://somedomain.com/MyApplication
。
我需要将所有请求路由到 prefix /MyApplication
。
我对控制器操作响应的问题重定向到somedomain.com
,而不是somedomain.com/MyApplication
。
有没有办法配置路由以使用前缀/MyApplication
?
UPD:例如
[HttpGet]
[AllowAnonymous]
public async Task<IActionResult> Login(string returnUrl = null)
{
// Clear the existing external cookie to ensure a clean login process
await HttpContext.SignOutAsync(IdentityConstants.ExternalScheme);
ViewData["ReturnUrl"] = returnUrl;
return View();
}
重定向到 somedomain.com,但我需要 somedomain.com/MyApplication
解决方案
您可以像这样使用PathBase
中间件Mvc
:
partial class Startup {
public void Configure(
IApplicationBuilder app,
IHostingEnvironment env
) {
app.UsePathBase(new PathString("/MyApplication"));
app.UseMvc();
}
}
使用PathBase
中间件,无需更改任何 mvc 代码,它会自动添加到请求和响应中。
推荐阅读
- java - Micronaut 中 HttpServletRequest 和 HttpServletResponse 的替代方案
- python-3.x - 如何为重复索引设置多索引
- keras - 为什么 Keras Compile 计算的 MSE 与 Scikit-Learn 计算的 MSE 不同?
- symfony - 如何在 symfony 4 中使用 owl carousel?
- amazon-web-services - 由于 3/4 节点上的 Docker i/o 超时,Nomad 作业挂起?
- java - 为什么Java API没有记录AbstractStringBuilder类
- php - 视频名称ffmpeg php中的括号问题
- selenium - Selenium Webdriver 拖放不适用于 google.com
- javascript - 当我将数据放在“distribuidora”字段上时,我的表没有更新
- r - 不要重新绘制闪亮输出块中的所有内容