0

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

通用 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

所以我有表单中的 URL

本地/cp/xyz/创建

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

本地/cp/xyz/创建/abc

我想要的是

本地/cp/abc/创建

4

1 回答 1

1

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

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

或者

'<myVar:\w+>/create'=>'xyz/create',
于 2012-09-16T17:56:32.587 回答