0

私のルーティングは次のように設定されています。

Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
    'controller' => 'static',
    'action'     => 'index',
));

次のように入力します。

http://localhost/et/testkohana4/

action_index必要に応じて呼び出しますController_Static

ただし、入力すると:

http://localhost/et/testkohana4/test

「 Controller_Test が見つかりません」と表示されると思いますが、代わりに Kohana がそれを見逃し、Apache から「要求された URL /testkohana4/index.php/test がこのサーバーに見つかりませんでした」というメッセージが表示されます。

クラスでcontroller呼び出されたディレクトリの下にファイルを入れても、まだページが見つからないというエラーが発生します。test.phpController_Test

URL にコントローラーの名前を入力したときに特定のコントローラーを呼び出すにはどうすればよいですか?

4

1 に答える 1

2

編集:この回答のコメントで提供されている正しい解決策は、.htaccess RewriteBase値をに変更することでした

RewriteBase /et/testkohana4/

(<controller>(<action>(/<id>)))

ルートに誤りがあります。の先頭にスラッシュはあり(<action> ...ません(/<action> ...

これら<blocks>は URL の動的セグメントです。したがって、この例では:

http://localhost/et/testkohana4/test

これは次のように呼び出されます。

  • コントローラー:et
  • アクション: testkohana4
  • ID : テスト

それはあなたのために働くはずです。それが役に立ったことを願っています。

于 2010-11-11T13:53:57.307 に答える