2015-10-15 74 views
4

web.php我有以下代码:yii2通过路由规则的右边部分禁止访问

'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”。

+0

'urlManager'在'components'部分? – GAMITG

+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', 
    ), 
], 

在这种情况下,如果没有规则匹配的请求,那么它被认为是坏的。

+0

似乎。谢谢。 –

+0

不客气。随意标记答案为正确的答案;) – aalgogiver