我有一个有效的前置控制器。我写了一个名为AuthController.php的登录控制器。它配置了适当的代码。我的问题是当我去/ auth我得到404.这似乎是某种路由问题。
我的auth控制器名为AuthController.php,它的上半部分如下所示:
class AuthController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
$form = new Application_Form_Login();
$request = $this->getRequest();
if ($request->isPost()) {
if ($form->isValid($request->getPost())) {
if ($this->_process($form->getValues())) {
// We're authenticated! Redirect to the home page
$this->_helper->redirector('index', 'index');
}
}
}
$this->view->form = $form;
}
当然下面还有受保护的功能来处理其他事情。在Zend中,当你创建一个新的控制器时,它的存在(如在CodeIgniter中)是否意味着它应该可用?或者我是否必须将其添加到某个路由表中?
编辑:这是我的Apache Vhost配置:
<VirtualHost *:80>
ServerName new.mydomain.com
DocumentRoot /www/htdocs/zend/public
<Directory /www/htdocs/zend/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
答案 0 :(得分:1)
尝试创建另一个控制器或testController,然后尝试访问like / test如果它出错,则可能存在问题。如果它有效,则更改您的Auth控制器并使用不同的类名称命名
答案 1 :(得分:1)
我自己是zend的新手,根据我的经验,404错误已经发生
未配置htaccess(如评论中的Keyne所述)
或
没有与控制器/操作关联的视图,或者它完全不是由我创建的,或者文件夹/动作/视图文件名中存在某种错字。
因此,请确保不是上述情况。
答案 2 :(得分:1)
如果所有这些都是正确的那么它应该可以正常工作。