我對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