在 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',

所以你的规则不需要写两次。