[英]kohana3.3 Route::url() not working very well
```
路線設定:
Route::set('home', '(<action>)(_<p>.htm)',
array(
'action' => '(movie|tv|new)',
'p' => '[2-9]|[1-9][0-9]+'
)
)->defaults(
array(
'controller' => 'Home',
'action' => 'index',
'p' => 1
)
);
通過Route :: url()獲取網址:
Route::url('home',array('action' => 'movie', 'p' => 3));
有一個網址:
http:// www.domain.com/movie_3.htm
工作得很好。
但
Route::url('home',array('action' => 'movie'));
有一個網址:
http:// www.domain.com/movie_1.htm
這個不對 。
它應該是:
http:// www.domain.com/movie/
```
我該如何解決?
謝謝。
=====更新8/19 16:23 =====
Route::set('test', 'movie(_<p>.htm)',
array('p' => '[2-9]|[1-9][0-9]+')
)->defaults(
array('controller' => 'Movie', 'action' => 'index', 'p' => '1')
);
該路線設置在任何情況下都適用
Route::url('test',array('p'=>'1'));
有一個網址:
http://www.domain.com/movie
Route::url('test',array('p'=>'2'));
有一個網址:
http://www.domain.com/movie_2.htm
Route::url('test');
有一個網址:
http://www.domain.com/movie
= =,kohana核心中是否存在錯誤???
我認為您應該從默認值和驗證程序中刪除“ p”參數。 因此,您的代碼應如下所示:
Route::set('home', '(<action>)(_<p>.htm)',
array(
'action' => '(movie|tv|new)'
)
)->defaults(
array(
'controller' => 'Home',
'action' => 'index'
)
);
我不太確定要從默認值中刪除p
,因此您可以嘗試將其重新添加
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.