Как сохранить url страницы при переходе сайта на Yii?

Ситуация такая: сайт переводится на Yii, и нужно сохранить пути к некоторым страницам, в силу того, что они хорошо проиндексированы поисковиком.
Задача:
Есть страницы с урл вида:
site.ru/seo_word1
site.ru/seo_word1/filter1/param1
и тд

На данный момент пути на версии с движком yii такие:
site.ru/site/index/section/1
site.ru/site/index/section/1/filter1/param1

Какие есть пути решения проблемы?
  • Вопрос задан
  • 3179 просмотров
Пригласить эксперта
Ответы на вопрос 3
@kLkA
В Yii можно писать любой вид урлов, который вы хотите, с помощью роутинга. Если я правильно вас понял, то у вас 3 гет параметра seo_word,filter,param
в конфиге можно прописать правило

'components'=>array(
        …
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                  '<seoword:\w+>/<filter:\w+>/<param:\w+>'=>'site/index'
            ),
        ),
    ),

в таком правиле урлы /SEO_word12313/filter2/param17 будут ловиться actionIndex
теперь собираем из гет запроса данные через Yii::app()->request->getParam("seoword")
public function actionIndex() {
                Yii::app()->request->getParam("seoword")
                Yii::app()->request->getParam("filter")
                Yii::app()->request->getParam("param")
		$this->render('index');
	}

или сразу
public function actionIndex($seoword,$filter,$param) {
    $this->render('index');
}
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
задавать рауты не как < controller >/< action> а нормально.
Ответ написан
@asd111
В настройках urlManager пропиши
showScriptName => false
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы