YII 路由配置

伪静态,通过设置服务器服务,做域名地址的转换工作。

 

urlManager地址美化,通过程序的方式实现地址美化工作。

通过在主配置文件中配置组件来实现:

	'components'=>array(
          
		// uncomment the following to enable URLs in path-format
		'urlManager'=>array(
                    'urlFormat'=>'path', //配置路由 可以起到省略  r= 
                    'rules'=>array(
                        //添加后缀 user/login.html ===> user/login  别人会以为我们有静态页面
                        'user/login'=>array('user/login','urlSuffix'=>'.html'),
                        
                        //user/register.html  ===>  user/register
                        'user/register'=>array('user/register','urlSuffix'=>'.html'),
                        
                        //goods/20   ====>  goods/detail&id=20  <>里面试正则表达式, 省略了其中方法,id作为参数
                        'goods/<id:\d+>' => 'goods/detail',
                        
                        //goods/20/zhangsan  ===> goods/category&id=20&name=zhangsan
                        'goods/<id:\d+>/<name:[a-z]+>'=>'goods/category',
                        
                        //goods/4-2-3-5.html  ===> goods/category&brand=4&price2&color=3&screen=5
                        'goods/<brand:\d+>-<price:\d+>-<color:\d+>-<screen:\d+>'=>array('goods/category','urlSuffix'=>'.html'),
                    ),
		),

更改路由后,原来路由便不起作用。

如果去掉index.php入口文件,通过伪静态来实现

开启apache重写模块服务httpd.conf
     LoadModule rewrite_module modules/mod_rewrite.so
开启目录重写权限
     AllowOverride all
3. 设置服务器级伪静态规则.htaccess文件到网站入口目录

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php


4. urlManager组件showScriptName属性置为false    'showScriptName'=>false,

YII 路由配置_第1张图片

YII 路由配置_第2张图片


你可能感兴趣的:(YII 路由配置)