0

パラメータを1つだけ取得したいと思います。にとってexample site.ru/controller/action/param1/value/

しかし、私がフォローURLを要求した場合: site.ru/controller/action/param1/value/param2/value2/param3/value4/ デフォルトではエラーは発生しません。

URLパラメータの深さを設定することは可能ですか?または、URL解析を介して手動で実行する必要がありますか?

4

3 に答える 3

1

:module/:controller/:actionデフォルトルートでは、 (または単に:controller/:action)パーツの後に任意の数のパラメーターを許可します。

これを制限したい場合は、独自のルートを作成してください。

http://framework.zend.com/manual/en/zend.controller.router.htmlを参照してください

于 2011-02-10T00:39:14.717 に答える
0

次のコードを検討してください。

$route = new Zend_Controller_Router_Route(
            '/:controller/:action/:id',
            array('controller'=>'index','action'=>'index','id'=>''), //default values
            array('controller'=>'[a-zA-Z-]','action'=>'[a-zA-Z-]+','id'=>'([0-9]+)') //patterns to match values
);

このルートは、リクエストがコントローラー名、アクション名、および ID の番号で構成される場合にのみトリガーされます。他のパラメーターが渡される場合、ルートはトリガーされません。

于 2011-02-12T15:53:45.700 に答える
0

デフォルトでは、URL で使用される param => value ペアの量に制限はありません。

ただし、URL パラメーターを制限したい場合は、独自のカスタム ルートを作成できます。

于 2011-02-10T01:35:24.853 に答える