どうやって作るの?
domain.com/api/somecontroller/someaction
と
domain.com/somecontroller/someaction
同じコントローラー アクションを指します。
class somecontroller {
function someaction() {
}
}
注: 1 つのアクションだけを再ルーティングしたくありません。しかし、「api」プレフィックスなしで、domain.com/api/* のすべてのルートを対応する URL に再ルーティングしたいと考えています。
例えば:
domain.com/api/controller -> domain.com/controller
domain.com/api/controller/action -> domain.com/controller/action
domain.com/api/controller/action/param -> domain.com/controller/action/param
domain.com/api/controller/action?key=val -> domain.com/controller/action?key=val
routes.php に以下を追加してみました:
Router::connect('/api', array('controller'=>'index', 'action'=>'index'));
Router::connect('/api/:controller', array('action'=>'index'));
Router::connect('/api/:controller/:action');
Router::connect('/api/:controller/:action.:ext');
定義されたルールに対しては正常に機能します。しかし、私はすべてのシナリオをカバーしていないようです。URL パラメーター、またはプラグインやその他の高度な URL を使用すると失敗するように。
私が望むタスクを達成するためのより簡単な方法はありますか?