我对ZF非常陌生,我正在研究已经构建的应用程序。我的任务是在应用程序中创建Web服务。我已经在本地设置了应用程序,并且工作正常。所以我添加了一个新的控制器,并且可以在本地主机上访问,但是当我试图访问服务器时,它会导致404错误,但其他控制器可以完美访问。新控制器中的Zend Framework 404错误问题
AllowOverride All和Apache mod_rewrite在服务器中启用。有没有人有任何想法解决这个问题。我坐在这个错误2天..
<VirtualHost *:80>
DocumentRoot /path/to/site/public
ServerName sitename.com
ServerAlias www.sitename.com
<Directory /path/to/site/public>
AllowOverride All
</Directory>
</VirtualHost>
控制器代码:
class APIController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
// Setup REST server
$server = new Zend_Rest_Server();
$server->setClass('APIHandlerClass');
$server->handle();
exit;
}
}
我的URL site.com/API访问它,它会显示在实际情况下的XML 。
编辑:
我已经安装在本地Linux系统的应用程序,我发现这个问题是关系到Linux操作系统。
我曾尝试以下:
创建这就造成了404
复制现有控制器,并更名为原单控制器的名字一个新的控制器。然后我更改了复制控制器中的代码。我访问了我的控制器,它工作正常!
复制了现有控制器并重命名了复制的控制器。我用新名称调用了复制的控制器,显示404错误。
我的问题是我需要指定新的控制器名称任何地方!?我没有找到关于这个的任何文档,我甚至为控制器创建了视图文件。
我们需要更多信息。你可以给控制器的类名称,它在你的项目中的位置,以及你期望能够工作的例子URL,但是给出了一个404? – 2013-02-14 17:48:23
如果其他控制器正常工作,则问题与您的虚拟主机或重写设置无关。什么是APIController类的文件名和位置? – 2013-02-14 18:09:46
Hi @TimFountain在localhost中显示了XML,但是当在测试服务器中访问时,它会缩短404页面。文件名:APIController.php和位置:/ application/controllers – 2013-02-14 18:14:03