2017-03-09 89 views
1
'urlManager' => [ 
    'enablePrettyUrl' => true, 
    'showScriptName' => false, 
    'rules' => [ 
     '<controller:\w+>/<id:\d+>/<action:\w+>' => '<controller>/<action>', 
     '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 
    ], 
], 

不是很清楚爲什麼/控制器/名稱 - 動作的引用/ ID/1做的工作,/控制器/ 1 /名稱 - 動作沒有工作,沒有連字符一切正常,根據文件的行動名稱動作它是actionNameAction ??Yii2沒有找到行動

public function actionNameAction($id) { 
    // some code 
} 

Inline Actions

在事先都要感謝。

回答

1

\w不包括-

更改模式爲[\w\-]+

0

我認爲你對zend框架和Yii2感到困惑。在yii2中,它是actionActionName.While在url中使用它時,大寫字母被改成小寫字母,並帶有連字符。 例如, 如果控制器是訂單 並且動作是OrderAnalysis 那麼url將是類似orders/order-analysis的東西。 此外,只有在將應用程序路由到其正確的控制器操作後,纔會添加任何id或任何其他參數。 另外現在來到你的問題,我想我找到了一個後門IT-

//創建一個錨定網址:/index.php?r=post%2Fview & ID = 100#內容----- --------------------- echo Url :: to(['post/view','id'=> 100,'#'=>'content' ]);