Php 为urlManager Yii制定正确的规则

Php 为urlManager Yii制定正确的规则,php,yii,routes,Php,Yii,Routes,好时间。有一个关于为urlManager设置规则的问题。需要执行以下操作才能传递id defaultController。例如,我defaultController=“default”需要将参数传递给它,也就是说,无论您键入什么,都会导致控制器出现默认值,action=index,并且传递了值为abc的id参数。您可以尝试这样做: 我假设您使用Apache:转到httpd.conf,然后将文档根目录更改为您的Yii项目: Document Root ".../www/your_yii_proj

好时间。有一个关于为urlManager设置规则的问题。需要执行以下操作才能传递id defaultController。例如,我defaultController=“default”需要将参数传递给它,也就是说,无论您键入什么,都会导致控制器出现默认值,action=index,并且传递了值为abc的id参数。

您可以尝试这样做:

我假设您使用Apache:转到httpd.conf,然后将文档根目录更改为您的Yii项目:

 Document Root ".../www/your_yii_project"
通过编辑config文件夹中的main.php进行配置路由:当您传递id值时,将调用SiteController中的actionIndex()

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

        ),
.....
您应该看到的最后一个链接是在URL中隐藏index.php。就这样。以下是我的结果:

http://localhost:81/abc
它返回: 数组(大小=1) 'id'=>字符串'abc'(长度=3)

http://localhost:81/abc