YII2 - 无法访问子模块的DefaultController操作

时间:2017-08-15 03:19:49

标签: php yii2

我正在试图弄清楚如何访问模块的DefaultController内的其他操作。我有这个模块结构。

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

hub模块是submodule模块中的website,我可以访问此网址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>',
   ],
],

1 个答案:

答案 0 :(得分: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网址配置中的保留字,但我仍然遇到此问题。

当您创建actionThisExample之类的操作时,网址应该与此website/hub/default/this-example类似,但会转到404页面。当我这样做时actionThisexample这个网址website/hub/default/thisexample有效。但在我的情况下,如果有这样的网址就不那么好了。