2014-09-04 182 views

回答

10

这可以在配置中的设置,请参阅Default Controller

[ 
    'defaultRoute' => 'main', 
] 

但是请注意,这与路由密切相关,其中c由urlManager组件完全自定义。然后,如果你希望我们说domain/profile表现得像domain/user/profile那么这些规则urlManager可能是另一种方式去:

'rules' => array(
    '<action:\w+>' => 'user/<action>', // <-- use UserController by default 
    '<controller:\w+>/<id:\d+>' => '<controller>/view', 
    '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
    '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 
), 

希望这会帮助别人:)

1

随着yii2我能够做到这一点的与urlmanager:

'rules'=> [ 
     ['pattern'=>'<action>', 'route'=>'controller/<action>'], 
] 
0

这不是问题的答案,但它可能有助于了解: 存在catchAll property in yii\web\Application其定义如下:

该配置指定应该处理所有用户请求的控制器操作。

用法:

'catchAll' => ['controller/action'] 

所以,http://basic.com每个请求将调用controller/action

6

像一些人已经说了,你需要在配置文件中添加defaultRoute
下面是它应该如何看:

//config/web.php基本模板或backend/config/main.php先进

$config = [ 
    ... 
    'components' => [ 
     ... 
    ], 
    'params' => $params, 
    'defaultRoute' => 'user/index', 
]; 
+0

这是正确的答案。奇迹般有效。谢谢! – MrD 2017-09-17 17:28:09

1

尝试其他的解决方案......如果他们不工作,然后用我简单的技巧...

只需在根目录创建一个index.php页面。

然后,在该文件中,写这样的代码:

return header('Location: http://your page location'); 
1

打开web.php文件从您的配置文件夹,并添加以下内容:

'defaultRoute' => 'admin'

$config阵列。

enter image description here