2017-08-15 31 views
0

我想知道如何訪問模塊的DefaultController內部的其他操作。我有這個模塊結構。YII2 - 無法訪問子模塊的DefaultController動作

--module 
    --website 
    --module 
     --hub 

hub模塊是submodulewebsite模塊裏面,我可以在那裏訪問此網址website/default/index沒有問題,問題是這樣的website/hub/default/index其無法訪問。

但這website/hub/default這一切都很好,但我不能這樣做。嘗試了一個新的行動actionTest也無法訪問。這裏的配置我有

'urlManager' => [ 
    'enablePrettyUrl' => true, 
    'showScriptName' => false, 
    'enableStrictParsing' => true, 
    'rules' => [ 
     // Default ruling for module/controller/action route to work 
     '<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>', 
    ], 
], 

回答

0

我還挺解決我自己的問題與此,配置

'urlManager' => [ 
    'enablePrettyUrl' => true, 
    'showScriptName' => false, 
    'enableStrictParsing' => true, 
    'rules' => [ 
     // Default ruling for module/controller/action route to work 
     '<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>', 
     '<module:\w+>/<submodule:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<submodule>/<controller>/<action>', 
    ], 
], 

格式應該是<module>/<submodule>/<controller>/<action>我不知道submodule在Yii的URL配置一個保留字,但我仍然有這個問題。

當你創建一個像actionThisExample這樣的動作時,url應該是這樣的website/hub/default/this-example,但它會轉到404頁面。當我這樣做actionThisexample這個網址website/hub/default/thisexample的作品。但是在我的情況下,這樣做不是那麼好。