所谓的url参数美化就是将冗长的字符串 进行正则替换
yii2 框架的url参数美化完成需要完成两个阶段
第一个阶段分apache和nginx 两种的配置
apache :
1.1 必须开启rewrite 模式
http.conf 中
LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的注释
1.2在web目录新建 ".htaccess"文件
配置rewrite重写规则
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
b nginx 的配置 这个就比较简单了
只需要在配置文件的虚拟主机上的location / 中 写上 rewrite
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
2在yii框架中的 config的组件 urlManage
'urlManager' => [
'class' => 'yiiwebUrlManager',
'enablePrettyUrl' => true, //开启url的支持
'showScriptName' => false, //入口文件 index.php 不展示
// 'suffix' => '.html', //配置为静态文件后缀
'rules'=>[
'<controller:w+>/<id:d+>'=>'<controller>/view', //正则
'<controller:w+>/<action:w+>/<id:d+>'=>'<controller>/<action>',
'<controller:w+>/<action:w+>'=>'<controller>/<action>',
]
],
