首页 >社区问答列表 >分隔符的问题

分隔符的问题

赞助会员专享特权

老师你好 你视频中演示的地址www.tp5.com/hello/aaa/dddd-33-ccc-444-eee-5555.html  这样显示  但是修改配置文件分隔符之后显示的地址却不是你颜色的地址 而是www.tp5.com/hello-aaa-dddd-33-ccc-444-eee-5555.html   点击提示hello模块未找到

这是什么原因

  • Peter-Zhu
  • Peter-Zhu     2018-10-11 10:01:24 2楼

    你的问答涉及路由中的组合变量规则:

    Route::get('item-<name>-<id>', 'product/detail')
        ->pattern(['name' => '\w+', 'id' => '\d+']);

    组合变量的优势是路由规则中没有固定的分隔符,可以随意组合需要的变量规则和分割符,例如路由规则改成如下一样可以支持:

    Route::get('item<name><id>', 'product/detail')
        ->pattern(['name' => '[a-zA-Z]+', 'id' => '\d+']);Route::get('item@<name>-<id>', 'product/detail')
        ->pattern(['name' => '\w+', 'id' => '\d+']);

    以上官网对变量规则的描述,如果你的变量较多,为了生成一个对搜索引擎友好的URL地址,可以使用组合变量规则来美化你的URL地址,但会损失一定的执行效率, 如果你的操作没有参数或者有默认参数时,要注意规则的变化,防止失效~~

    +0 添加回复

  • 回复
  • 秋香姐家的小书童
  • 秋香姐家的小书童     2018-10-09 11:34:22 1楼

    路由规则 或者伪静态规则 没有配置吧

    +0 添加回复

  • 回复

    'pathinfo_depr' =&gt; '-', 设置了这个 就会显示 www.tp5.com/hello-dddd-33-ccc-444-eee-5555.html 这样一个连接 路由规则 也重新写了 'hello/[:dddd]/[;ccc]/[:eee]' =&gt; ['index/index/hello', ['method' =&gt; 'get'], ['dddd' =&gt; '\d{4}','ccc' =&gt; '\d{4}'.'eee' =&gt; '\d{4}']], 我规则写错了吗?

    太子   作者 · 2018-10-09 11:41:28
    回复

    忘能指导一下

    太子   作者 · 2018-10-09 11:41:43
    回复