私はこのようなルートがある場合:Kohanaの3つのルーティングとクエリ文字列
Route::set('test', 'test')
->defaults(array(
'controller' => 'test',
'action' => 'index'
));
は、私が唯一のURL mysite.com/testまたはmysite.com/test/がこのルートと何にも送信されることを想定しそれ以外の場合はデフォルトルートに送信されます。ある場合はすべてのルートをキャッチします。ただし、任意のクエリ文字列をタックすることができ、それでも有効です。たとえば、次のいずれかが動作します。
mysite.com/test/?abc
mysite.com/test/?abc=123
mysite.com/test/?abc=123&blabla=lala
基本的に必要なものはどれですか。テストルートがURLとクエリ文字列と一致しないように設定するにはどうすればよいですか?別の例は、このようになります。この例では
Route::set('test', 'test(/?order=<order>)', array('order' => 'title|date|author'))
->defaults(array(
'controller' => 'test',
'action' => 'index'
'order' => 'title'
));
、私はこのルートにマッチするURLのみをだろうと仮定します:
mysite.com/test/?order=title
mysite.com/test/?order=date
mysite.com/test/?order=author
しかし、前のように、あなたは他のクエリ文字列に追加することができますあなたは欲しい。
これらの無効なクエリ文字列を404ページに送信するすべての経路をキャッチする方法はありますか?あるいは、私は文字通りすべてのコントローラを通過して$ _GETのチェックを行い、それらが実際に存在することを確認する必要がありますか?