0
MVC 3 응용 프로그램의 하위 도메인과 관련하여 좌절감을주는 복잡한 문제가 있습니다. 아래 코드를 사용하면 내 하위 도메인에서 매번 내 도메인의 루트로 되돌아갑니다. 내가 subdomain.mydomain.com 그 경로를 입력하면하위 도메인 MVC 3의 루트로 리디렉션
나 domain.com?nr=0합니다. 왜 코드에서 어디에서 쿼리 문자열 값을 추가하는지 알 수 없습니다.
public class SubdomainRoute : RouteBase
{
public override RouteData GetRouteData(HttpContextBase httpContext)
{
var url = httpContext.Request.Headers["HOST"];
var index = url.IndexOf(".");
if (index < 0)
return null;
var subDomain = url.Substring(0, index);
if (!String.IsNullOrEmpty(subDomain) && subDomain != "www" && subDomain != "mydomain")
{
var routeData = new RouteData(this, new MvcRouteHandler());
routeData.Values.Add("controller", "External");
routeData.Values.Add("action", "CoolAction");
routeData.Values.Add("subdomain", subDomain);
return routeData;
}
else
return null;
}
}
양식 인증이 사용 중지되었지만 해결되지 않았습니다. 나는 또한 www를 앞에 쓴다. 모든 요청에, www. 누락되었습니다 - 나는 또한 그것을 제거하고 그것을 해결하지 못했습니다. 다음은 내 Global.asax에의 RegisterRoutes입니다 :이 하루 종일 내 머리를 두드리는 봤는데 난 포기
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("elmah.axd");
routes.Add(null, new SubdomainRoute());
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new[] { "MyProject.UI.Web.Controllers" }
);
routes.MapRoute("NotesController",
"Notes/{noteDestinationType}/{noteDestinationGuid}",
new { controller = "Notes", action = "SaveNote" });
}
. 나는 도움을 요청하고있다. TIA.
regex.Split(url);
누락 생각하지만, 여전히 루트로 리디렉션합니다. –