最近、kohana 3.3.1 フレームワークを使い始めて、いくつかの問題に遭遇しました。
エントリ ポイントごとに異なるルートを作成したいと考えています。現在、これはデフォルトのルートであり、うまく機能しているようです(私は思う):
Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'welcome',
'action' => 'index',
));
Web サイトにアクセスすると、「hello, world!」と表示されます。
application/classes/Controller/Street.php に Street というコントローラーがあります。
このコントローラーのコードは次のとおりです。
<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Street extends Controller {
public function action_index()
{
$this->response->body('hello, street!');
}
問題は、URI の後ろに /something を入力したいということであり、定義されたコントローラーとアクションにリダイレクトする必要があります。しかし、うまくいかないようです。デフォルトの URI の後ろに何かを入力すると、404 エラーが発生します。
ルートには、これを使用します
/**
* Set the routes. Each route must have a minimum of a name, a URI and a set of
* defaults for the URI.
*/
Route::set('test1', 'street/<id>')
->defaults(array(
'controller' => 'street',
'action' => 'index',
));
Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'welcome',
'action' => 'index',
));
どんな助けでも喜んでいただければ幸いです。
編集
/index.php/street に移動する @Darsstar の指示を試したところ、うまくいきました! しかし、/index.php/street/derp にアクセスしようとすると、次のエラーが表示されます。
要求された URL derp がこのサーバーで見つかりませんでした。
だからまだちゃんと動いてないんだろうな