내 웹사이트에 호스팅mywebsite의 폴더www.example.com고 방문 https://www.example.com/mywebsite/home/about.
어떻게 기본 url 부분에서 MVC 컨트롤러? 는 내가 찾는 것은https://www.example.com/mywebsite
예 나열됩여기서지 않't 로 작동 우리는't 액세스를 요청합니다.Url ASP.NET Core
당신은 여전히 할 수 있을 함께 당신이 필요합니다. 액세스할 수 있는 객체의 경우 컨트롤러 상속에서컨트롤러
.
를 사용하는 경우 VS2017,새 ASPNet 핵심 MVC 용 및 대체 homecontroller 과:
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult About()
{
ViewData["Message"] = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}";
return View();
}
public IActionResult Contact()
{
ViewData["Message"] = "Your contact page.";
return View();
}
public IActionResult Error()
{
return View();
}
}
나는 그냥 넣어에서 물건의 일부 수 있는 관심사에 당신이"에 대한"방법,하지만 당신은 탐색의 나머지 요청 등을 알 수 있도록 다른 무엇을 사용할 수 있습니다.
로@챙 지적해야 할 수 있습 문제가 실행하는 경우 황조롱이 뒤에 IIS 또는 Azure 앱 서비스,그러나 당신이 사용하는 경우 IISIntegration 패키지 또는 AzureAppServices 패키지(설치하여 Nuget 패키지과에서 추가 프로그램입니다.cs 귀하의 WebHostBuilder),그것은 앞으로 이러한 헤더니다. 그것은 좋은 작품에서 나를 위해 Azure 기 때문에,나는 때때로 결정을 내릴 수 있을 기반으로 호스트 이름들이다. IIS/Azure 패키지는 또한 앞으로 원격 IP 주소는 로그에 있습니다.
필요하신 경우에는 이 곳에서 당신의보다 응용 프로그램을 구축해야한 미들웨어. 을 정의 개인정보취급방침과 당신의 확장자를 추가하는 방법들웨어를 이비스 파이프라인은 이렇습니다.
public class MyHttpContext
{
private static IHttpContextAccessor m_httpContextAccessor;
public static HttpContext Current => m_httpContextAccessor.HttpContext;
public static string AppBaseUrl => $"{Current.Request.Scheme}://{Current.Request.Host}{Current.Request.PathBase}";
internal static void Configure(IHttpContextAccessor contextAccessor)
{
m_httpContextAccessor = contextAccessor;
}
}
public static class HttpContextExtensions
{
public static void AddHttpContextAccessor(this IServiceCollection services)
{
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
}
public static IApplicationBuilder UseHttpContext(this IApplicationBuilder app)
{
MyHttpContext.Configure(app.ApplicationServices.GetRequiredService<IHttpContextAccessor>());
return app;
}
}
그것은 조금 있을 수도 있습니다 중복 노출 HttpContext 이 경우에는 그러나 나는 그것에 매우 도움이 된다.
는 것보다 그것을 추가하여 파이프라인에서 당신의 Configfure 방법에 위치하는 시작을 시작합니다.cs
app.UseHttpContext()
거기에서 그것은 간단한 그것을 사용하는 어느 곳에서 당신의 코드입니다.
var appBaseUrl = MyHttpContext.AppBaseUrl;
string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~"));
확인할 수 있습니다 자세한 내용은 여기: https://stackoverflow.com/questions/1288046/how-can-i-get-my-webapps-base-url-in-asp-net-mvc