1
如果我有這樣的路線:Kohana的3個路由和查詢字符串
Route::set('test', 'test')
->defaults(array(
'controller' => 'test',
'action' => 'index'
));
我以爲,只有網址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進行檢查並確保它們確實存在?