假设我们有可以用多种语言显示的网站。每个控制器的名称被重写为特定语言。例如:
'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
有可能以某种神奇的方式实现这种行为吗?
CUrlManager 模块接受参数的正则表达式。因此,请使用这样的规则,并忽略路径中的规则控制器变量 (c):
'<c:(kontakt|contact)>/<a:'w+>' => 'contact/<a>',
'<c:(uslugi|services)>/<a:'w+>' => 'services/<a>',