我已将PathBase
定义为
new PathString("/test_environment/");
然后我在https://localhost:5001/test_environment/Login
,登录后它将重定向到/MyController/
一切正常-到达控制器及其方法并正确提供数据,但是我在浏览器中的网址是:
https://localhost:5001/MyController/
工作正常,但是/test_environment/
到哪里去了?
MyMethod
中的 MyController
有一个
[Route("/")]
属性
答案 0 :(得分:1)
对于app.UsePathBase
,它添加了一个中间件,该中间件从请求路径中提取指定的路径库,并将其追加到请求路径库中。
对于[Route("/")]
,如果您使用https://localhost:5001/
,它将生成请求RedirectToAction
。
您获得了https://localhost:5001/MyController/
,我假设您使用Redirect
来重定向URL。
请尝试以下Login
中的代码。
public IActionResult Login()
{
if (Request.Path.StartsWithSegments("/test_environment"))
{
return Redirect("/");
}
else
{
return Redirect("/test_environment/");
}
}