在 Yii2 中配置 urlManager 规则
Configuring urlManager Rules in Yii2
我是 Yii2 的新手,一直在使用 urlManager,我有以下代码,它工作正常,但我认为这应该更短。我有如下几条规则:-
'rules' => [
'gifts/<subjectone:[\s\S]+>/<subjecttwo:[\s\S]+>' => 'gifts/index',
'gifts/<subjectone:[\s\S]+>/<subjecttwo:[\s\S]+>/' => 'gifts/index',
'gifts/<subjectone:[\s\S]+>' => 'gifts/index',
'gifts/<subjectone:[\s\S]+>/' => 'gifts/index',
];
如您所见,我添加了 4 条规则,所有规则都转到同一页面以处理不同的情况。
我不得不添加相同的 Url 两次,一次使用 /
,一次不停止 404。请建议更好的方法来处理这个问题。
您可以在规则的尾部添加 +|(\/?)
。看一看:
'gifts/<subjectone:[\s\S]+>+|(\/?)' => 'gifts/index',
所以你的规则不需要写两次。
我是 Yii2 的新手,一直在使用 urlManager,我有以下代码,它工作正常,但我认为这应该更短。我有如下几条规则:-
'rules' => [
'gifts/<subjectone:[\s\S]+>/<subjecttwo:[\s\S]+>' => 'gifts/index',
'gifts/<subjectone:[\s\S]+>/<subjecttwo:[\s\S]+>/' => 'gifts/index',
'gifts/<subjectone:[\s\S]+>' => 'gifts/index',
'gifts/<subjectone:[\s\S]+>/' => 'gifts/index',
];
如您所见,我添加了 4 条规则,所有规则都转到同一页面以处理不同的情况。
我不得不添加相同的 Url 两次,一次使用 /
,一次不停止 404。请建议更好的方法来处理这个问题。
您可以在规则的尾部添加 +|(\/?)
。看一看:
'gifts/<subjectone:[\s\S]+>+|(\/?)' => 'gifts/index',
所以你的规则不需要写两次。