2

假设,我们有一个可以用多种语言显示的网站。每个控制器的名称都重写为某种语言。例如:

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

网址/kontakt重定向到/contact“uslugi”到“服务”等。

好的,但我也想通过最后一个控制器执行解析结果,以便kontakt/some_irrelevant_title,5被定向到contact/some_irrelevant_title,5

有可能以某种神奇的方式实现这种行为吗?

4

1 回答 1

1

CUrlManager模块接受参数的正则表达式。所以使用这样的规则并忽略路径中的规则控制器变量(c):

'<c:(kontakt|contact)>/<a:\w+>' => 'contact/<a>',
'<c:(uslugi|services)>/<a:\w+>' => 'services/<a>',
于 2012-05-03T19:54:13.600 回答