nginx下配置yii2路由美化

原URL:http://www.yiitest.com/index.php?r=api/index/index 美化成现url: http://www.yiitest.com/api/index/index

由于我下载的是基础版本yii2,所以修改方法如下

这时候依然无法使用美化后的路由去访问,但是可以使用 http://www.yiitest.com/index.phpapi/index/index 去访问,这是由于nginx那边需要配置重定向,apache则需要修改.htaccess这里不做说明

**在nginx的配置文件内的虚拟主机中加上一行 try_files $uri $uri/ /index.php?$args; **

这里解释一下,加这一行的作用,当用户请求 http://localhost/example 时,这里的 $uri 就是 /example, try_files 会到硬盘里尝试找这个文件。如果存在名为 /$root/example(其中 $root 是项目代码安装目录)的文件,就直接把这个文件的内容发送给用户。 显然,目录中没有叫 example 的文件。然后就看 $uri/,增加了一个 /,也就是看有没有名为 /$root/example/ 的目录。
又找不到,就会 fall back 到 try_files 的最后一个选项 /index.php,发起一个内部 “子请求”,也就是相当于 nginx 发起一个 HTTP 请求到 http://localhost/index.php

完事后访问成功如下

posted @ 2021-04-15 17:15  隔壁小啾  阅读(504)  评论(0)    收藏  举报