这是我的模块"auth“
-auth/
-controllers/
---AuthController.php在控制器中,我有操作“寄存器”。
在布局中,我创建路由url:
$this->createUrl('auth/auth/register')
规则在config/main.php中
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
'rules' => array(
'register' => 'auth/auth/register',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
),当我在mySite/index.php注册时,url看起来很好:mySite/寄存器。Url工作,视图是可见的。当我是这个视图时,mySite/注册在这里引发了一个问题。寄存器url是mySite/auth/寄存器--当然,我看到404错误。为什么要这样做,如何解决这个问题?
发布于 2014-10-18 21:20:34
来自createUrl的API页面
如果控制器属于模块,则模块ID将以路由为前缀。(如果不需要模块ID前缀,则路由应该以斜杠“/”开头。)
因此,您的代码应该读取
$this->createUrl('/auth/auth/register')https://stackoverflow.com/questions/26443282
复制相似问题