Задать вопрос
@decenter

Как настроить правила для отдельного GET параметра в URLManager yii 1.1.8?

Есть один проект функционирующий на yii 1.1.8, которому уже пару лет. По сути это большой каталог объектов. Там автоматически генерится множество параметров встроенными в Yii средствами (стандартными настройками). И поэтому под каждый вариант писать свое правило скажется на производительности приложения и пунктов будет довольно много.
Пример из конфигурационного файла
array(

'components'=>array(

'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(

),
),
),
);
Все урлы имеют следующий вид:
Site.ru/controller/action/ param1/value1/ param2/value2/ param3/value3/ …/uniq_param/uniq_value
Site.ru/controller/action/ param1/value1/ param2/value2/uniq_param/uniq_value
Site.ru/controller/action/ param1/value1/ uniq_param/uniq_value
Необходимо что бы get параметр uniq_param не преобразовывался в UrlManager.
Т.е. Урлы имели вид вне зависимости от количества параметров в нем, При этом что бы параметр uniq_param всегда отображался как get переменная.
Site.ru/controller/action/ param1/value1/ param2/value2/ param3/value3/ …/?uniq_param=uniq_value
Site.ru/controller/action/ param1/value1/ param2/value2/?uniq_param=uniq_value
Site.ru/controller/action/ param1/value1/?uniq_param=uniq_value

Описание в правилах не всех параметров вызовет дублях страниц сайта и плохо скажется на его индексирования. Нпример
'rules'=>array(

' controller/action /param1/< param1>'=>' controller/action ',
' controller/action /param1/< param1>/param2/< param2>/param3/< param3>/'=>' controller/action ',
)
Приведет к вормированию УРЛ
Site.ru/controller/action/ param1/value1/ param2/value2/ param3/value3/?param4= value4&….&uniq_param=uniq_value
И также в дубляж с уже имеющимися в индексе страницами.
  • Вопрос задан
  • 179 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы