【发布时间】:2013-03-17 10:20:33
【问题描述】:
假设我的 yii 站点基域是http://ii.local。
所有控制器操作都可以显示在基本域上,除了
我需要http://events.ii.local 来处理控制器event 的所有动作
拨打$this->createUrl('/event/index',array('code' => 'guruevent'))
我需要生成为http://events.ii.local/guruevent的网址
拨打$this->createUrl('/site/login')
我需要生成为http://ii.local/site/login 的url。
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'caseSensitive'=>false,
'rules'=>array(
'http://events.ii.local/<code:\w+>'
=> '<controller:event>/<action:index>',
'http://events.ii.local/<code:\w+>/<action:\w+>'
=> '<controller:event>/<action>/<code>',
'<controller:\w+>/<action:\w+>'
=> '<controller>/<action>',
),
),
事件子域的 URL 是使用 /event/index?code=guruevent 生成的,而不是使用 events.ii.local 子域。
单域路由工作正常,但我需要为少数控制器和模块使用少数子域。我也尝试设置 request->baseUrl 但只要我将其设置为 http://ii.local/ 所有路由都会停止,并且所有 url 都会打开相同的主页。
请提出修复建议。
【问题讨论】:
标签: php url-rewriting yii routing