yii2 实现默认路由与美化路都能访问_yii默认路由,解密Golang开发常见误区

这样比默认路由好多了,但是如果能把 index.php 入口脚本更好呢?

index.php 同级目录中,新建 .htaccess 文件,并添加如下代码:

RewriteEngine on

如果是一个目录或者文件,就访问目录或文件

RewriteCond %{REQUEST_FILENAME} !-d

如果文件存在,就直接访问文件,不进行下面的RewriteRule

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule . index.php

此时直接访问,当然还是无法省略 index.php 访问的,还需要 web 服务器开启路由重写功能才行。

apache 直接开启路由重写模块即可。nginx 则需要在配置域名时添加如下代码才行:

location / {

Redirect everything that isn’t a real file to index.php

try_files $uri u r i / / i n d e x . p h p uri/ /index.php uri//index.phpis_args$args;
}

此时,我们便可以通过 域名/site/index 访问了。

同时访问

以上两种路由访问方式,无论配置与不配置,都只能实现一种方式,那么,如果实现两种路由都能访问呢,这就需要我们对框架中的路由分发功能进行重写。

common/components 文件夹下新建 urlManager 继承自带的路由处理类,并重写路由分发的功能,具体代码如下:

<?php namespace common\components; class urlManager extends \yii\web\UrlManager { /\*\* \* 解析路由请求,兼容美化与非美化路由 \* @param \yii\web\Request $request \* @return array|bool \*/ public function parseRequest($request) { // 这里实际上就是通过判断 get 参数中 r 的值是否为空,如果为空则是美化路由,否则即为默认的路由方式,?r=site/index,如果 r 参数不为空,则仍然通过默认路由方式访问,否则以美化路由形式访问 $route = $request->getQueryParam($this->routeParam, ''); if ($route != '') { $this->enablePrettyUrl = false; } return parent::parseRequest($request); } } 只是重写方法,不使用也不会发生作用,因此我们需要在配置文件中,使用路由美化使用自定义的路由处理类,代码如下: **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。** **深知大多数Go语言工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!** **因此收集整理了一份《2024年Go语言全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。** ![img](https://img-blog.csdnimg.cn/img_convert/5be3cbaaedb3a35a548a0be8207adb3f.png) ![img](https://img-blog.csdnimg.cn/img_convert/ed5314787a290d874b26a1e28a9b747f.png) ![img](https://img-blog.csdnimg.cn/img_convert/6c3b8efd1fc97d18dc192753e186b612.png) ![img](https://img-blog.csdnimg.cn/img_convert/a98dd2f5ddc35d566fdd86fa01f2353e.png) ![img](https://img-blog.csdnimg.cn/img_convert/14fa1a3be6fc106a2be7673ccc87eb1c.png) **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Golang知识点,真正体系化!** **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** **如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Go)** ![img](https://img-blog.csdnimg.cn/img_convert/5a6fa37a96be9d48147fd3065fdc6e9e.jpeg) **一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!** 的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值