私は ZF を初めて使用し、既に構築されたアプリケーションに取り組んでいます。私の仕事は、アプリケーションで Web サービスを作成することです。アプリケーションをローカルでセットアップしましたが、正常に動作しています。そこで新たにコントローラーを追加してローカルホストではアクセスできたのですが、サーバーで同じものにアクセスしようとすると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 エラーが表示されました。
私の質問は、どこでも新しいコントローラー名を指定する必要があるのですか!? これに関するドキュメントは見つかりませんでした。コントローラー用のビュー ファイルも作成しました。