Добавьте следующее правило в ваш массив правил main.php:
'product/<id:[A-Z0-9]+>'=>'site/product',
, чтобы у вас было что-то вроде
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
'rules' => array(
'product/<id:[A-Z0-9]+>'=>'site/product',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
),
, по существу, формат правила следующий:
'product/<id:[A-Z0-9]+>'=>'site/product',
Термины в <> означают, что вы передаете переменную, поэтому
<id:[A-Z0-9]+>
означает, что вы передаете $ _GET ['id'], если регулярное выражение совпадает (если оно содержит только заглавные буквы ичисла).
Таким образом, вышеприведенное правило означает, что если URL соответствует product / что-то, отправьте его на сайт / product и передайте «что-то» как параметр $ _GET с именем id.
Hopeэто проясняет.