yii2禁用路由规则右侧部分的访问权限

时间:2015-10-15 10:00:28

标签: yii2

web.php我有以下代码:

'urlManager' => [
        'class' => 'yii\web\UrlManager',
        // Disable index.php
        'showScriptName' => false,
        // Disable r= routes
        'enablePrettyUrl' => true,
        'rules' => array(
                'calc' => 'site/calc',
        ),
    ],

我希望允许用户访问example.com/calc但不允许访问example.com/site/calc。我怎么能用更少的努力正确地做到这一点?换句话说,现在可以使用两种选项 - " site/calc"和" calc"我想禁用" site/calc"。

1 个答案:

答案 0 :(得分:1)

尝试将enableStrictParsing添加到UrlManager配置,如下所示

 'urlManager' => [
    'class' => 'yii\web\UrlManager',
    // Disable index.php
    'showScriptName' => false,
    // Disable r= routes
    'enablePrettyUrl' => true,
    'enableStrictParsing' => true,
    'rules' => array(
            'calc' => 'site/calc',
    ),
],

在这种情况下,如果没有匹配请求的规则,则认为它是错误的。