Hy stackoverflow!我正在尝试使用Yii 1.1.14(这是一个旧网站)将表单转换为外部页面 .
我已经在我的视图中创建了一个目录,调用 signinPartners
并进入这个目录,一个php文件调用 signin
.
我还创建了一个控制器:
class SigninPartnerController extends Controller
{
public function actionSignin(){
$this->render('/signin');
}
}
他通过以下方式呈现我的配置中定义的路径 /signin
:
return array(
'' => 'index',
'signin' => 'signinPartners/signin',
);
但是当我尝试URL http://mylocalserver/signin
时,该网站会发回 Error 404 Unable to resolve the request « signin-partners/signin ».
.
这真的很令人不安,因为我的网站上还有其他网址,他们的工作方式相同而不会出现错误404.我不知道我错过了什么...有人可以帮忙吗?
我的urlManager:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName' => false, // do not display index.php in the url
'urlSuffix' => '/',
'rules' => $routesRules, //this variable contains the array defined above
),
我还检查了我的运行时间:
2018/01/17 11:12:16 [error] [exception.CHttpException.404] exception 'CHttpException' with message 'Impossible de résoudre la requête « signinPartners/signin ».' in D:\Windows\Windows\CommonFiles\wamp64\www\MoovTime-Conso\library\Yii\web\CWebApplication.php:286
Stack trace:
#0 D:\Windows\Windows\CommonFiles\wamp64\www\MoovTime-Conso\library\Yii\web\CWebApplication.php(141): CWebApplication->runController('signinPartners...')
#1 D:\Windows\Windows\CommonFiles\wamp64\www\MoovTime-Conso\library\Yii\base\CApplication.php(183): CWebApplication->processRequest()
#2 D:\Windows\Windows\CommonFiles\wamp64\www\MoovTime-Conso\public\frontend\index.php(36): CApplication->run()
#3 {main}
REQUEST_URI=/signin
---
(异常消息是法语,意思是 Unable to resolve the request « signin-partners/signin »
)
好的,大的更新,我试图玩 routes.php
,我意识到我的控制器的名称与 signinPartners
不匹配 . 所以,我用以下方法更新路线规则:
return array(
'' => 'index',
'signin' => 'signinPartner/signin',
);
现在,我们遇到了一个新错误: Controller can't find the view « /signin ».
. 有帖子Controller can't find the view in Yii可以回答这个问题!
ANSWERED
2 回答
尝试在signinPartners中添加
-
.我的问题是操作,我视图中包含页面的目录名称和路由规则 .
首先,我从以下位置更新路线规则:
至 :
控制器名称错误 .
在第二次,为了与控制器的名称匹配,我只是将
views
中的目录重命名为signinPartners
至signinPartner
(仅用于可读性) .最后我更新了动作
actionSignin
:用于:
我用新目录名更改路径的位置 .