2011-11-17 4 views
1

에서 중복 나는이 URL이젠드 프레임 워크 - 번역 URL

cz/kontroler/akce 

en/controller/action 

transatable 경로를 사용하고 매력처럼 작동되어 있습니다. 그러나 문제는, 쓰실 때

cz/controller/akce 

도 마찬가지입니다. 정말 컨트롤러의 이름 때문에 일반적으로

당신은 여전히 ​​

cz/some 
en/some 

cz/something-in-czech 
en/something-in-english 

someController 노선이 될 것입니다 작품이있을 때.

이 중복 콘텐츠 문제를 해결하는 방법은 무엇입니까?

답변

0

preDispatch 메서드를 사용하는 plugin을 만들 수 있습니다. 요청이 실행되기 전에 요청 된 URL을 분석하고 요청 된 언어가 URL에있는 매개 변수의 언어와 일치하는지 (즉, 컨트롤러 및 동작을 의미하는지) 확인할 수 있습니다. 그렇지 않은 경우 사용자를 주어진 언어에 맞는 URL로 리디렉션 할 수 있습니다 (기본적으로 컨트롤러와 동작을 번역 한 다음 사용자를 올바른 URL로 리디렉션합니다).

+0

나는 비슷한 방식으로 만들었습니다. 나는 그것이 루트 중에 내부를 제어하지 않는다는 것에 놀라움을 금치 못했습니다. 내가 실수로 알아 내지 못했을 때 나는 propably Google에 의해 벌점 것이다. – tomasr

+0

@tomasr 항상 rel = "canonical"을 사용하여 Google에 선호하는 URL을 Google에 알릴 수 있습니다. –