如何配置Yii2 UrlManager以处理带斜杠和不带斜杠的规则

问题描述 投票:1回答:2

我有一个类似domain.com/calendar/2001/8/22的页面,可以通过以下方式访问

domain.com/calendar/2001
domain.com/calendar/2001/8
domain.com/calendar/2001/8/22

它会根据URL显示不同的内容。

我配置了urlManager规则:

'calendar/<year:[\-\d]+>' => 'calendar/view',
'calendar/<year:[\-\d]+>/<month:[\d]+>' => 'calendar/view',
'calendar/<year:[\-\d]+>/<month:[\d]+>/<day:[\d]+>' => 'calendar/view',

没关系。但是,当我访问domain.com/calendar/2008/8/(带有斜杠时,我的网站用户经常以斜杠访问)时,我得到404。

如何配置urlManager以处理带斜杠和不带斜杠的规则?

我有一个类似于domain.com/calendar/2001/8/22的页面,domain.com / calendar / 2001 domain.com/calendar/2001/8 domain.com/calendar/2001/8/ 22根据...

yii2 yii-url-manager
2个回答
0
投票

您应该使用UrlNormalizer将“斜杠URL”重定向到“非斜杠URL”(反之亦然):


-1
投票

UrlNormalizer之后添加the guide。请注意,它将更改您网站上的所有链接。

© www.soinside.com 2019 - 2024. All rights reserved.