首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kohana3.3 Route::url()不能很好地工作

kohana3.3 Route::url()不能很好地工作
EN

Stack Overflow用户
提问于 2013-08-19 15:30:39
回答 1查看 117关注 0票数 0
代码语言:javascript
复制
route setting:

```javascript

Route::set('home','()(_.htm)',

代码语言:javascript
复制
       array(
代码语言:javascript
复制
           'action' => '(movie|tv|new)', 
代码语言:javascript
复制
           'p' => '[2-9]|[1-9][0-9]+'
代码语言:javascript
复制
       )

)->defaults(

代码语言:javascript
复制
       array(
代码语言:javascript
复制
           'controller' => 'Home', 
代码语言:javascript
复制
           'action' => 'index', 
代码语言:javascript
复制
           'p' => 1
代码语言:javascript
复制
       )

);

代码语言:javascript
复制
get a url by Route::url():

```javascript

=>::url(‘=>’,array('action‘home’电影‘,'p’home 3));

代码语言:javascript
复制
got a url: 

```javascript

http:// www.domain.com/movie_3.htm

代码语言:javascript
复制
working very well.

but 

```javascript

=>::url(‘home’,array('action‘home’电影‘));

代码语言:javascript
复制
got a url: 

```javascript

http:// www.domain.com/movie_1.htm

代码语言:javascript
复制
this is not right .

it should be: 

```javascript

http:// www.domain.com/movie/

代码语言:javascript
复制

我该如何修复它?

谢谢。

=====update 8/19 16:23 =====

代码语言:javascript
复制
Route::set('test', 'movie(_<p>.htm)', 
                array('p' => '[2-9]|[1-9][0-9]+')
          )->defaults(
                array('controller' => 'Movie', 'action' => 'index', 'p' => '1')
          );

此路径设置在任何情况下都适用

代码语言:javascript
复制
Route::url('test',array('p'=>'1'));

获取了一个url:

代码语言:javascript
复制
http://www.domain.com/movie

Route::url('test',array('p'=>'2'));

获取了一个url:

代码语言:javascript
复制
http://www.domain.com/movie_2.htm

Route::url('test');

获取了一个url:

代码语言:javascript
复制
http://www.domain.com/movie

= =,kohana内核有bug吗?

EN

回答 1

Stack Overflow用户

发布于 2013-08-19 15:38:56

我认为你应该从默认值和验证器中删除"p“参数。因此,您的代码应该如下所示:

代码语言:javascript
复制
Route::set('home', '(<action>)(_<p>.htm)', 
           array(
               'action' => '(movie|tv|new)'
           )
)->defaults(
           array(
               'controller' => 'Home', 
               'action' => 'index'
           )
);

我不太确定是否要将p从默认值中删除,因此您可以尝试重新添加它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18308540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档