所谓的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>', ] ],