2020-03-31 11:47:08 1183次浏览 2条回答 0 悬赏 50 金钱

urlManager rules 我是这样设置的

'calendar/<year:[\-\d]+>' => 'calendar/view',
'calendar/<year:[\-\d]+>/<month:[\d]+>' => 'calendar/view',
'calendar/<year:[\-\d]+>/<month:[\d]+>/<day:[\d]+>' => 'calendar/view',

这样访问都是正常的

domain.com/calendar/2001
domain.com/calendar/2001/8
domain.com/calendar/2001/8/22

但是我的用户有时候这样访问

domain.com/calendar/2001/8/

就会得到 404,请问怎么解决?

  • 回答于 2020-03-31 15:44 举报

    看看我的,把长的写在前面,短的写在后面

    'rules' => [  // 路由规则
        'index' => 'site/index',
        'article/list_c<cid:\d+>_p<page:\d+>' => 'article/index',  // 匹配cid和page参数, 一定要在上面
        'article/list_c<cid:\d+>' => 'article/index',  // 匹配只有cid参数
    ],
    
    1 条回复
    回复于 2020-04-01 10:55 回复

    试了下不行,可能你的是用 _ 分割,我的使用 / 分割,yii 认为是目录了

  • 回答于 2020-04-16 12:02 举报

    你为什么要让用户这样访问呢?url不是你程序生成,然后用户复制而已吗?你控制好的话就可以避免啦

您需要登录后才可以回答。登录 | 立即注册
雅戈
见习主管

雅戈

注册时间:2014-10-11
最后登录:2020-08-05
在线时长:10小时7分
  • 粉丝7
  • 金钱255
  • 威望10
  • 积分455

热门问题