У меня есть некоторое сопоставление URL-адресов в Yii2:
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ['pattern'=>'pages','route'=>'pages/index', 'suffix'=>'/'], ['pattern'=>'pages/<id:\d+>','route'=>'pages/single', 'suffix'=>'.html'], ]]
Итак, URL:
domain.com/pages/ - works fine domain.com/pages - E404 domain.com/pages/321.html - works fine domain.com/pages/321 - E404
Если я удалю параметр суффикса из массива config, тогда:
domain.com/pages/ - E404 domain.com/pages - works fine domain.com/pages/321.html - E404 domain.com/pages/321 - works fine
Можно ли сделать «суффикс» в ссылку опциональным, например, «страницы» и «страницы /» будут выполняться в одном направлении? Благодарю.
Похоже, это невозможно достичь с настройкой правил в менеджере URL.
Пожалуйста, проверьте эти связанные проблемы в Github:
https://github.com/yiisoft/yii2/issues/1807
https://github.com/yiisoft/yii2/issues/6498
Поэтому выберите один из вариантов, который вам больше подходит, и используйте его.
Нужна привязка косой черты или .html
– добавьте suffix
, иначе просто оставьте это как есть.
Также для поисковых систем
domain.com/pages/ domain.com/pages
это две разные страницы, и использование этого приведет к дублированию контента.