Yii设置自定义URL格式

时间:2012-09-16 16:33:57

标签: .htaccess url-rewriting yii url-routing

我要做的是在Yii中为URL管理创建自定义规则。

一般网址规则在main.php中设置

    'urlManager'=>array(
        'urlFormat'=>'path',
                    'showScriptName'=>false,
        'rules'=>array(
            '<controller:\w+>'=>'<controller>/index',
                            '<controller:\w+>/<id:\d+>'=>'<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
        ),

.htaccess文件也设置为

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

所以我有

形式的网址
  

本地/ CP / XYZ /创建

现在我有一个自定义控制器,当前的URL就像

  

本地/ CP / XYZ /创建/ ABC

我想要的是

  

本地/ CP / ABC /创建

1 个答案:

答案 0 :(得分:1)

假设'local / cp'是你的应用程序url,'xyz'是控制器而'abc'是某种变量(我称之为myVar),你需要一个像这样的规则:

'<myVar:\w+>/<action:\w+>'=>'xyz/<action>',

'<myVar:\w+>/create'=>'xyz/create',