找到backend/config/main.php文件,’components'=>[] 中添加如下代码:
框架:Yii2.0 advanced框架
以修改后台文件为例,找到backend/config/main.php文件,’components'=>[] 中添加如下代码:
1 'urlManager' => [
2 'enablePrettyUrl' => true,
3 'showScriptName' => false,
4 'enableStrictParsing' => false,
5 'suffix' => '.html',
6 'rules' => [
7 '/'=>'/',
8 ],
9 ],
修改前:index.php?r=site/index
修改后:index.php/site/index
接下来我们逐条解释:
'enablePrettyUrl' => true, //是否开启美化效果
'enableStrictParsing' => false, //是否开启严格解析路由
什么意思呢?假设我们在开启了路由美化的功能(enablePrettyUrl设置为true),enableStrictParsing设置为false的情况下,我们直接访问/index.php/site/index肯定是没有问题的。但是如果我们直接访问/index.php?r=site/index呢?发现页面展示的效果是/site/index(实际上这里展示的默认的路由页面),并非是博客列表页面。如果我们把enableStrictParsing参数设置为true你会发现页面直接抛出404。因为这货设置为true之后,会匹配rules选项中设定的至少一个规则,那我们这里先设置一个路由,不然没法继续了。
'showScriptName' => false, //是否或略脚本名index.php
而我们可以看到,现在的index.php还是没有在url中消失,是因为我们还缺少一个.htaccess文件
我们只要在与入口文件index.php同级的目录下,保存一个名为.htaccess文件,就可以隐藏index.php文件啦!
这个文件不能少 apache配制,nginx的在niginx的配制文件里配
.htaccess文件内容:
Options +FollowSymlinks
IndexIgnore */*
RewriteEngine On
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
最后测试OK了!
还不知道的加我QQ 156356969