yoyo0926

yoyo0926

这家伙有点懒,还没写个性签名!

  • 财富值210
  • 威望值0
  • 总积分290

个人信息

  • 另外,如果我把第一条规则去掉了,第二条规则也有个问题,就是参数刚刚好 就是defaults里的那些默认值,那么伪静态就失效了

  • 第一条规则 加了class你的类 也不行

  • 第一条规则 ,如果加上,那么第二条规则 就不生效了

  • 这里还有一个问题 麻烦了:

            'rules' => [
                [
                    'pattern' => 'product',
                    'route' => 'article/product',
                ],
                [
                    'class' => common\core\UrlRuleWeb::class,
                    'pattern' => 'product_<filter_1:\d+>_<filter_4:\d+>_<filter_7:\d+>_<filter_12:\d+>_<page:\d+>',
                    'route' => 'article/product',
                    'suffix' => '',//自定义后缀 可选配置
                    'defaults' => [
                        'filter_1' => 0,
                        'filter_4' => '0',
                        'filter_7' => 0,
                        'filter_12' => 0,
                        'page' => 1
                    ],
                ], //写法2
                //...
            ],
    
  • 大神!!!赞一个!!!太实质了,找了好几天了 都没讲到这些

  • 回复了 的回答

    在你最新的问题中沟通过。不知道你的问题解决了没

    关于URL路由规则的配置,整理了一篇文章。可以看看 :)

    站内链接 http://www.yiichina.com/tutorial/1555

    博客链接 http://blog.jeen.wang/yii2-url-rule-usage.html

    太感谢!!!

  • 收藏了教程
    Url Rules 使用指南
  • 回复了 的回答

    核查源码发现,确实没法直接通过规则 设置 相关参数的默认值。
    但是 设置 多条规则的方法是可行的

    测试规则(2.0.12 下测试可行)
    
                "site/test_<aa:\d+>_<bb:\d+>_<cc:.*>" => "site/index",
                "site/test_0_0_<cc:.*>" => "site/index",
    

    可能是你用的版本比较老? 或者你可以 调整一下 规则的创建顺序,把包含默认值的规则放到前面。

    如果还是不行,建议在 使用的地方 手动填充相关默认值,如

    Url::to(['site/index', 'aa' => 0, 'bb' => 0, 'cc' => 123]);
    

    谢谢 我发现了,规则是可以的,就是url::to它不起效果! 手动在浏览器里面添加,它是生效的

  • 或者 我把0都去掉,规则 写成 product_<page:\d+> 这样子 也不能出现 product_2的路由,还是 ?page=2

  • 2017-12-15 已签到
    连续签到2天,获得了10个金钱
见习主管 等级规则
290/500
资料完整度
10/100
用户活跃度
0/100

Ta的关注

3

Ta的粉丝

1

Ta的访客

7