Столкнулся с преинтересной проблемой при портировании на Yii:
Моя основная задача выглядит так:
==============URL==================
site.ru/action/param1/parm2/param3 ;// здесь получаю index.php? section=default & page=action
site.ru/id00000000/action/param1/param2/param3 ;// здесь и ниже получаю index.php? section=main & page=action
site.ru/com00000000/action/param1/param2/param3
site.ru/username/action/param1/param2/param3
site.ru/user_site.ru/action/param1/param2/param3
===============HTACCESS============
Разбор таких урлов у меня ведет .htaccess прописать который не составило труда:
AddDefaultCharset utf-8
DirectoryIndex index.php
SetEnv APPLICATION_ENV development
Options +indexes
IndexIgnore .
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^.*$ - [NC,L]
#main section
RewriteRule ^$ index.php?section=main&page=default [NC,L] #redirect to profile
RewriteRule ^(id|com)([0-9]{10})(.*)$ index.php?section=main&style=id&type=$1&id=$2&name=$1+$2¶m=$3 [NC,L]
RewriteRule ^([a-z0-9_\-]{2,128}(([\.][a-z0-9_\-]{1,128})|([a-z0-9_\-]+\{0,128})){0,16})\.(.*)$ index.php?section=main&style=dom&name=$1&dom=$5¶m=$6 [NC,L]
RewriteRule ^([a-z0-9_]{6,128})(.*)$ index.php?section=main&style=name&name=$1¶m=$2 [NC,L]
#default section
RewriteRule ^([a-z0-9_\-]{3,5})(.*)$ index.php?section=default&page=$1¶m=$2 [NC,L]
#error section
RewriteRule ^(.*)$ /error/404 [NC,R]
==============urlManager=====================
Но вот urlManager не могу осилить, чтобы у меня обрабатывались контроллеры следующим способом:
чтобы $_GET[‘section’] устанавливал контроллер main|default в зависимости от значения,
чтобы $_GET[‘action’] устанавливал нужный экшн
urlManager’=>array(‘urlFormat’=>‘path’,‘showScriptName’=>false,
'rules'=>array(
'/<section>/<page>'=>'<section>/</page>'), // это срабатывает
'/<id>/<page>'=>'<section>/</page>') // это выдает ошибку, помогите пжл. составить правильный запрос
)