Yii2 urlManager редирект с controller/q/w/... на controller/index
Собственно, нужно прописать редирект, где при наличии controllerName в урле(независимо от остальной части урла, вложенности), будет обращение к методу index, контроллера controllerName Сейчас реализовано так: 'controller:news/action:.+' => 'news/index', Однако, происходит редирект с "example.com/news/some/path" на "example.com/news?action=news%..." Этого и нужно избежать
Ответы (1 шт):
Вот так у меня сделано для ссылок на страницу активации вида mysite.com/activate/<md5 string>
'rules' => [
'<controller:activate>/<link:(.+?)' => '<controller>/index',
],
В контроллере
public function actionIndex($link = null) {
}
Это я к тому, что Вам же нужно передавать в index ту самую остальную часть вложенности т.е some/path поэтому и нужно как-то именовать переменную которая будет передана в actionIndex в которой и будет сидеть some/path
Поэтому в Вашем случае rules будет выглядеть примерно так
'rules' => [
'<controller:news>/<link:(.+?)' => '<controller>/index',
],
А в контроллере вот так
public function actionIndex($link = null) {
}
Учтите, что согласно RFC обращение к сайту по URL-ам mysite.com/news?<тут что-то> и mysite.com/news/<тут что-то> и даже mysite.com/news и mysite.com/news/ будут считаться разными и соответственно URLы без / после news под описанное правило не попадут