在Yii2中,默认情况下,此类网址: / foo-bar 将转换为此操作:
public function actionFooBar() {
// ...
}
如果我希望相同的网址包含数字,如下所示: / foo-bar-3 ?
我尝试actionFooBar3()
和actionFooBar_3
- 没有运气,当我访问/ foo-bar-3时会抛出404.
想法?
更新
所以,网址投了404,因为其中有一个拼写错误,经过太多工作时间我没看到。不要成为工作狂。另外,我赞成以下3个答案,因为所有答案似乎都是有效的,可能对其他人有帮助。
答案 0 :(得分:1)
我认为,如果您希望实现此功能,则必须为路由创建新规则。在Yii docs中说:
将动作ID的每个单词中的第一个字母转换为大写
但数字不具有高等效值。如果您将操作名称定义为actionFooBar3
,则可以从网址foo-bar3
答案 1 :(得分:1)
这对我有用。我可以访问它。 示例:https://myYii2.com/foo-bar-3
public function actionFooBar3() {
echo "asd";die;
}
<强> web.php 强>
检查enablePrettyUrl
是否设置为true
;
'urlManager' => [
'enablePrettyUrl' => true,
],
Error: 404
显示方法,您已为控制器操作设置了一些规则。
答案 2 :(得分:1)