YII中URL地址美化

URL地址美化:urlManager地址管理(通过程序来实现url的地址美化)

例如:

原地址:http://localhost/项目/app/index.php?r=控制器/方法

新地址:http://localhost/项目/app/index.php/控制器/方法

-------------------------------

做法:

修改main.php全局配置文件,开启urlManager功能

/*

'urlManager'=>array(

'urlFormat'=>'path',//是否启用pathinfo模式的url地址

'rules'=>array(//设置伪静态后缀

'<controller:\w+>/<id:\d+>'=>'<controller>/view',

'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',

'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',

),

),

*/

去掉注释

-------------------------------

伪静态

例如:

原地址:http://localhost/项目/app/index.php?r=控制器/方法

新地址:http://localhost/项目/app/index.php/控制器/方法.html

'urlManager'=>array(

'urlFormat'=>'path',//是否启用pathinfo模式的url地址

'rules'=>array(//设置伪静态后缀

'控制器别名/方法别名'=>array("原控制器名/原方法名","urlSuffix"=>".html"),//给指定页面添加伪静态

'<controller:\w+>/<action:\w+>'=>array('<controller>/<action>',"urlSuffix"=>".html"),//给所有页面添加伪静态,如带参数,伪静态不起作用

'控制器别名/方法别名/<参数名:正则表达式>/<参数名:正则表达式>'=>'原控制器名/原方法名',//给指定页面设置页面传的参数

'控制器别名/方法别名/<参数名:正则表达式>/<参数名:正则表达式>'=>array('原控制器名/原方法名',"urlSuffix"=>".html"),//给指定页面设置参数,并设置伪静态,但只对单个页面起作用

),

),

-------------------------------

url中省略入口文件

必须用Rewrite功能来实现

posted @ 2016-04-14 18:37  郑彦彬  阅读(1291)  评论(0编辑  收藏  举报