Yii 1.1 создавать пользовательские дружественные URL

Я пытаюсь выработать пользовательское требование URL. Мы являемся веб-сайтом, основанным на продуктах, и URL каждого продукта

https://www.domainname.com/product/index/id/product_id

Теперь я хочу, чтобы URL были удобными для пользователя и что-то вроде этого ..

https://www.domainname.com/productcustomurl

Для этого я создал поле с именем custom_url в таблице product где customurl будет храниться создателем продукта во время создания продукта. Для этого я создал правило в params.php следующим образом:

'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<id:(.*?)>' => 'product/index' //this rule

предполагая, что это будет перенаправлять пользователя всякий раз, когда кто-нибудь нажимает https://www.domainname.com/productcustomurl с productcustomurl в параметре id, который работает нормально, но проблема в том, что это перенаправление всех и каждого на product/index переопределение всех других маршрутов, таких как site/index или же site/about и т. д., что является проблемой. Я хочу, чтобы они работали. Как мне этого добиться, не влияя на нормальные маршруты сайта ??
Пожалуйста помоги.

2

Решение

Попробуйте заменить вашу последнюю строку конфигурации следующим:

'<productcustomurl:\w>' => 'product/index'

Сейчас, actionIndex из ProductController, должно быть так:

public function actionIndex($productcustomurl)
{
//Now, you can find a product by its custom url, and pass the finded product object to the view
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]