domain.com 사이트는 domain.com을 가리키는 www.domain.com의 CNAME 항목을 통해 액세스 할 수 있습니다. www.domain.com의 모든 방문자가 301 리디렉션을 사용하여 domain.com으로 리디렉션되기를 바랍니다. asp.net mvc에서 이것을 구현하는 가장 좋은 방법은 무엇입니까? global.asax 에서요?Asp.net mvc 301 www.domain.com에서 domain.com으로 리디렉션
답변
본인은 애플리케이션 레벨에서이를 수행하는 것이 질문에 대한 의견과 같이 바람직하지 않음을 인정합니다.
IIS7에 HTTP 리디렉션 기능을 설치하는 것이 가장 좋은 방법입니다.
우리의 경우 다른 제약 조건 때문에 응용 프로그램 수준에서이 작업을 수행해야합니다.
private static readonly Regex wwwRegex =
new Regex(@"www\.(?<mainDomain>.*)",
RegexOptions.Compiled
| RegexOptions.IgnoreCase
| RegexOptions.Singleline);
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string hostName = Request.Headers["x-forwarded-host"];
hostName = string.IsNullOrEmpty(hostName) ? Request.Url.Host : hostName;
Match match = wwwRegex.Match(hostName);
if (match.Success)
{
string mainDomain = match.Groups["mainDomain"].Value;
var builder=new UriBuilder(Request.Url)
{
Host = mainDomain
};
string redirectUrl = builder.Uri.ToString();
Response.Clear();
Response.StatusCode = 301;
Response.StatusDescription = "Moved Permanently";
Response.AddHeader("Location", redirectUrl);
Response.End();
}
}
이 나를 알려줍니다. 잘못된 그룹 이름 : 그룹 이름은 다음과 같아야합니다. 단어 문자로 시작하십시오 –
이제 사이트의 web.config에 추가 할 수있는 UrlRewrite를 사용하여 더 쉽게 만들었습니다. 여기에서 언급하고 싶었습니다. http://stackoverflow.com/a/10193142 – gldraphael
[www] 또는 [www]가 없으면 [this] (http://stackoverflow.com/q/15951963/2218697) 게시물에 다음과 같이 표시되는 SEO에 가장 적합합니까? – stom
- 1. ASP.Net MVC - 특정 URL 트랩 301 리디렉션
- 2. 301 Asp.Net MVC에서 리디렉션
- 3. 리디렉션 (301)
- 4. 301 리디렉션 원격 관리
- 5. 서재응을 위해 301 리디렉션
- 6. 경로 보존 중에 IIS6 301 리디렉션
- 7. ASP.Net 301 리디렉션 및 URL 다시 쓰기
- 8. ASP.NET MVC 글로벌 리디렉션
- 9. IIS - ASP.NET MVC 리디렉션
- 10. 컨트롤러에서 301 리디렉션 반환 조치
- 11. 301 리디렉션 .htaccess 함께
- 12. 301 리디렉션 도움말
- 13. IBM WCM에서 301 리디렉션
- 14. 301 ROR 페이지 리디렉션
- 15. 301 맞춤 메시지로 리디렉션
- 16. OpenCMS - 301 리디렉션
- 17. htaccess로 리디렉션 (301)
- 18. Apache 301 리디렉션 문제
- 19. 301 리디렉션 - 고급?
- 20. htaccess로 301 리디렉션 문제
- 21. htaccess로 301 리디렉션 규칙
- 22. .htaccess opencart 리디렉션 301
- 23. 301 htaccess로 리디렉션 규칙
- 24. 301 죽은 링크로 리디렉션
- 25. 리디렉션 (301) www.www.example.com
- 26. 301 리디렉션 대 주차
- 27. 동적 301 리디렉션
- 28. PHP 301 리디렉션 아이디어
- 29. 301 Typepad를 사용하여 리디렉션
- 30. 리디렉션 301 질문
가장 쉬운 방법은 리디렉션을 처리하기 위해 IIS에서 다른 웹 사이트를 만드는 것입니다 : 여기
우리가 리디렉션을 수행하기 위해 Global.asax에에서 사용하는 코드입니다. 코드를 작성할 필요가 없습니다. IIS 리디렉션은 자동으로 처리 할 수 있습니다. –실제로. IIS가 나아갈 길입니다. IIS가 무료로 수행 할 때 이러한 종류의 작업으로 응용 프로그램을 묶고 싶지는 않습니다. IIS7이 최선의 방법입니다. –
여기에있는 문제는 사이트가 부하 조절기 뒤에 앉아있는 농장에 있다는 것입니다. 호스트는 서버의 내부 IP 주소로 해석되고 원래 호스트 이름은 헤더 "x-forwarded-host"에 다시 패키징됩니다. 지금까지 보았 듯이 IIS7 HTTP 리디렉션 기능을 사용하지 않습니다. – spender