2013-05-08 11 views
0

나는 아래처럼 "http://site.com"(기본 사이트)에서 사이트 실행을 실행브라우저 언어에 따라 사이트를 리디렉션하는 방법은 무엇입니까?

한다고 가정 같은 도메인에 다른 언어로이 사이트,이 언어 A와 B를, 데. "http://sit.com/b/"

사용자가 검색 할 경우 "http://site.com"브라우저 언어 기본 사이트와 다음이 같은 사이트를 열어야합니다 브라우저 언어는 "B"로 설정되어있는 경우 다음의 열려있는 다음 경우 "에서 및 B 사이트 실행 http://sit.com/b/ ". 브라우저에 다른 언어가있는 경우 모든 경우에 기본 사이트 만 열 수 있습니다.

아무에게도 도움을 줄 수 있습니까?

+2

, 그러한 예는 사용자가 쿠키가 설정되도록,은'/ B /'사이트에 작업을 수행 할 수 있습니다 (일부 종류의 탈출 밸브가 있음을 확인 리다이렉션은 발생하지 않음). 때때로 사용자는 브라우저 언어가 'B'임에도 불구하고 기본 사이트에 액세스하려고 할 수 있습니다. –

+0

@Damien_The_Unbeliever가 맞습니다. 뉴스 사이트에 가서 미국 이외의 지역에서 접속하기 때문에 "국제 판"을 원한다면 끊임없이 물어보십시오. * 아니, 나는 지독한 미국판을 원한다. 나는 매일 같은 일을한다. –

+0

이것은 당신에게 도움이 될 수 있습니다. http://quickstarts.asp.net/QuickStartv20/aspnet/doc/localization/culture.aspx#autoculture –

답변

0

다음 코드에 따라 브라우저 언어를 감지 할 수 있습니다.

HttpRequest Request = HttpContext.Current.Request;  

    if (Request.UserLanguages == null) 
      return; 

    string Lang = Request.UserLanguages[0]; 

이제 특정 사이트로 리디렉션 할 수있는 브라우저 언어가 있습니다. 당신이 결국 무엇이든간에 솔루션

if(lang=="A") 
Response.Redirect("A site") 
else 
Respose.Redirect("B site"); 
+0

이 이해할 수 있지만이 코드를 작성해야 할 경우, 내가 Global.asax 파일에 다음 쓰기 작동하지 않는 경우 올바른 제안 할 수 위치? –

+0

이 코드를 PageLoad() 메소드의 기본 웹 사이트 기본 페이지에 작성할 수 있습니다. 거기에서 기본 페이지가 올 때마다 요청을 리디렉션 할 수 있습니다. –

관련 문제