yii2 urlManager 规则可以兼容原生链接写法吗?

'urlManager' => [
       'enablePrettyUrl' => true,    //启动美化
       'showScriptName' => false,   //禁用index.php
       'enableStrictParsing' => false,
//           'suffix' => '.html',
       'rules' => [
       
       "<controller:backend/shop-manaer>/<action:detail>/<shop_id:\d+>" => "<controller>/<action>",
      "<controller:backend/shop-manaer>/<action:auth>/<is_auth:\-?\d>/<shop_id:\d+>" => "<controller>/<action>",
      

定义了urlManager, 刚开始按原生路径写的交互代码 r=site/index 这种, 启用了 urlManager, 原生的就失效, 启用了 suffix 后缀, 都需要加上 html后缀 ~~~

urlManager 可以配置 成 类似 .htaccess rewrite, 兼容原生的访问路径,自动加后缀吗?

阅读 3.9k
1 个回答

据我所知,不可以

不过,你应该使用提供的helper类来生成地址,这样无论你的配置怎么变,都不需要在手动添加后缀或者其他。

例如在链接处调用Url::to(['site/index']) 这样无论你是否开启或者关闭美化,都会生成相应的地址,例如关闭了美化,则会生成r=site/index ,开启后会生成/site/index

那么当设置suffix后,就会自动加上后缀了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进