0

私は問題があります。

私はコードを持っています:

Route::set('user', '(<controller>(/<id>))')
->defaults(array(
    'controller' => 'user',

    'id' => '\d+',
));

そして mydomain.com/user/1 は動作しません..

エラー:

要求された URL user/1 は、このサーバーで見つかりませんでした。

しかし、コントローラーとID(または他の何か)の間にドットを設定すると:

    Route::set('user', '(<controller>.abc(/<id>))')
->defaults(array(
    'controller' => 'user',
    'id' => '\d+',
));

mydomain.com/user.abc/1 が機能します。

なんで?:(

ありがとう!

4

1 に答える 1

2

idが数値かどうかを確認したいですよね?3.3のドキュメントで読むことができるように、デフォルトでこのように配置することは正しい方法ではありません

Route::set('user', '(<controller>(/<id>))',
    array(
        'id' => '\d+',
    ))
    ->defaults(array(
        'controller' => 'user',
        'action' => 'index',
    ));

また、ルートが複数ある場合は、そのルートを定義する場所も重要です。ルートまたはデフォルトとしてアクション( doc ) を提供する必要があります

于 2013-04-04T00:24:40.007 に答える