我对 ZF 很陌生,我正在开发一个已经构建的应用程序。我的任务是在应用程序中创建 Web 服务。我已经在本地设置了应用程序并且它工作正常。所以我添加了一个新的控制器,并且可以在localhost中访问,但是当我尝试在服务器中访问相同的控制器时,会导致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 错误。
我的问题是我是否需要在任何地方指定新的控制器名称!?我没有找到任何关于此的文档,我什至为控制器创建了视图文件。