关于yii2的url美化
在写yii2项目的时候我们可能会碰到这种问题:http://frontend.hyii2.com/index.php?r=site/about
我们会觉得这个url不够美观,想换成http://frontend.hyii2.com/site/about这种形式的,这就涉及到路由配置(url美化问题)
比如我们配置前台网址,我们需要在\frontend\web文件夹下加一个重定向文件,即.htaaccess,文件内容如下
RewriteEngine on
# 如果是一个目录或者文件,就访问目录或文件
RewriteCond %{REQUEST_FILENAME} !-d
# 如果文件存在,就直接访问文件,不进行下面的RewriteRule
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php
接下来配置服务器,我这里用的是apache,打开apache配置文件(在Apache\conf目录下的httpd.conf文件)
- 开启 apache 的 mod_rewrite 模块
去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号;
- 修改 apache 的 AllowOverride
把 AllowOverride None 修改为 AllowOverride All;
配置完成后一定要重启服务器!否则不能生效
配置完成后去项目文件中加urlManager,如下图
隐藏入口脚本:showScriptName = false
路由的路径化:enablePrettyUrl = true
如果想在路劲后加上.html可以加上’suffix’=>‘.html’
完成后保存页面,再去打开网址就可以了。如果出现404错误,仔细检查文件内容有没有错以及放置的位置是否正确