从今天开始,接受来自三大姑八大姨,灵魂的拷问。

Yii url地址美化

关于yii地址美化的文章很多,大多数采用的都是官方的教程方法。


主配置文件,main.php的组件(components)中开启路由模式

‘urlManager’=>array(
‘urlFormat’=>’path’,
‘showScriptName’=>false,
‘urlSuffix’=>’.html’,
‘rules’=>array(
‘<controller:\w+>/<id:\d+>’=>’<controller>/view’,
‘<controller:\w+>/<action:\w+>/<id:\d+>’=>’<controller>/<action>’,
‘<controller:\w+>/<action:\w+>’=>’<controller>/<action>’,
),
这个时候的url会从www.pjkui.com/index.php?r=aa/bb&cc统一的变成www.pjkui.com/index.php/aa/bb/cc.html,相对于之前的好了许多,如果想隐藏index.php怎么办呢。这个时候需要apache服务器开启rewrite功能,不然不会成功。

去掉路径中index.php名称

在网站根目录下新键一个.htaccess文件

里面内容:

* show index.php?
*  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
到上面已经机会很完美了。但是问题来了。如果我想让一个URL指定到一个特殊的格式怎么办呢?

这时候我们需要在rules中添加一个规则

'goos/<id:\d+>'=>'goods/show',

这个时候所有的index.php/goos/XX全部调用goods控制器中的show方法。建议对于具体的url配置,要尽可能的写详细,不然会与其他的url配置产生冲突,然后有一个就无法美化了。


标签yii 地址美化

最新评论