2012-11-28 3 views
1

내 웹 사이트에 두 가지 언어를 사용하고 싶습니다. 네덜란드어와 영어. 나는 이미 내 루트의 "ko"와 "nl"폴더에 영어와 네덜란드어 웹 사이트를 가지고 있습니다.복수 언어 웹 사이트

어떻게 리디렉션하는 것이 가장 좋을까요? .htaccess 또는 PHP. 어떻게 말해 줄 수 있니?

+2

"리디렉션하십시오"...? 리디렉션은 어디에서 무엇을 기준으로합니까? – deceze

+0

제발, 쿠키 {lang = en | nl}과 php : lang = getCookie ("lang"), pathToPage = '/application/'.lang.'/path/to/page'와 같은 것을하지 마십시오. 왜냐하면 디렉토리 트래버 설이 발생하기 쉽기 때문입니다. ( – fatfredyy

답변

3

htaccess는 나에게 훨씬 쉬워 보인다. PHP로 당신은 내가 추측하고있는 auto_prepend 파일을해야 할 것입니다. 명심해야 할 또 다른 사실은 똑같은 페이지를 사용하는 것입니다. 따라서 언어를 선택하여 URL에 사용하십시오. ie en/about_us.html과 nl/about_us.html 그 이유는 Google이 알아낼 수있는 원인입니다. 어떤 페이지가 동일하지만 다른 언어입니다. 당신이 장소에있는 폴더를 가지고 있다면 재 작성의 측면에서 나는 당신이 재 작성이 필요한 것을 보지 못한다. 좀 더 정보를 주시겠습니까? 다국어 사이트를 만들 때마다 내 컨트롤러는 동일하지만 (물론 mvc 환경에서) 나는 두 가지 다른 뷰를 가지고 있습니다. 그럴 경우 다음과 같이 다시 쓸 것입니다.

RewriteRule en/(.*).html /$1.php?language=en 
RewriteRule nl/(.*).html /$1.php?language=nl 

RewriteCond %{HTTP_ACCEPT_LANGUAGE} ^(en) 
RewriteRule ^[^en/](.*) /en/$1 [R=301] 
RewriteCond %{HTTP_ACCEPT_LANGUAGE} ^(nl) 
RewriteRule ^[^nl/](.*) /nl/$1 [R=301] 
+0

페이지 이름은 실제로 동일합니다. 의도적으로했는데, 고객이 자동으로 정확한 언어로 보내주기를 원합니다. 나는 cloudflare를 사용하고 있습니다. 아마도 그게 간단 할 것입니다. –

+3

아, 다음과 같이하면됩니다. http://www.thefutureoftheweb.com/blog/use-accept-language-header 여기서 $ _SERVER [ 'HTTP_ACCEPT_LANGUAGE']를보고 언어의 경우. auto_prepend에서 PHP를 수행 할 것입니다. –

+0

htacces를 선호합니다. 그 웹 사이트에 대해 설명하고 있습니까? –

관련 문제