0

というパラメーターを必要とする最初のページを作成しています$hash。私のルートは現在これです:

Router::connect('/activate/*', array('controller' => 'users', 'action' => 'activate'));

これはほぼ完全に機能しますが、次のような URL を入力すると:

http://localhost/activate/something/somethingelse/long/url

ルートと一致します。次のように、32 文字の長いパラメーターを 1 つだけ一致させたい:

http://localhost/activate/ajsheeugnbloiuffheogysswhvnntpdd

これを行う正しい方法は何ですか?

4

1 に答える 1

0

次のようなルートの正規表現マッチングを設定できます

Router::connect(
    '/activate/:id',
    array('controller' => 'users', 'action' => 'activate'),
    array('id' => '[a-zA-Z]{32}')
);

正規表現を調整できます。現在は文字だけです。

参照は次のとおりです:http://book.cakephp.org/2.0/en/development/routing.html#route-elements

于 2013-02-08T03:51:17.730 に答える