2014-09-04 186 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