2012-05-02 5 views
2

여러 언어로 표시되는 웹 사이트가 있다고 가정합니다. 각 컨트롤러의 이름이 특정 언어로 다시 쓰여집니다. 예를 들어 :Yii URL 관리자 규칙 - 힌트가 필요합니다

'kontakt<a:.*>' => 'contact<a>', 
'uslugi<a:.*>' => 'services<a> 
'<controller:\w+>/\w+,<id_body:\d+>' =>'<controller>/showBody/id/<id_body>' 

URL /kontakt는 '서비스'등

OK로 /contact '하기 Uslugi'로 리디렉션하지만 마지막 제어기 통해서도 해석의 결과를 수행하려는하도록 kontakt/some_irrelevant_title,5contact/some_irrelevant_title,5

으로 바뀌 었습니다. 어떤 마법적인 방법으로 그러한 행동을 할 수 있습니까?

답변

1

CUrlManager 모듈은 매개 변수에 대한 정규 표현식을 허용합니다. 따라서 다음과 같은 규칙을 사용하고 경로의 룰 컨트롤러 변수 (c)를 무시하십시오.

'<c:(kontakt|contact)>/<a:\w+>' => 'contact/<a>', 
'<c:(uslugi|services)>/<a:\w+>' => 'services/<a>',