Yii Framework Forum: Чпу - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Чпу Разбор описания urlManager Rate Topic: -----

#1 User is offline   exru 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 09-April 13

Posted 09 April 2013 - 11:03 AM

Столкнулся с преинтересной проблемой при портировании на 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&param=$3 [NC,L]
RewriteRule ^([a-z0-9_\-]{2,128}(([\.][a-z0-9_\-]{1,128})|([a-z0-9_\-]+\{0,128})){0,16})[\.]([a-z0-9_\-]{2,3})(.*)$ index.php?section=main&style=dom&name=$1&dom=$5&param=$6 [NC,L]
RewriteRule ^([a-z0-9_]{6,128})(.*)$ index.php?section=main&style=name&name=$1&param=$2 [NC,L]
#default section
RewriteRule ^([a-z0-9_\-]{3,5})(.*)$ index.php?section=default&page=$1&param=$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>') // это выдает ошибку, помогите пжл. составить правильный запрос
)
0

#2 User is offline   Charger 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 317
  • Joined: 03-September 11

Posted 10 April 2013 - 12:32 AM

Не получается понять что именно вы хотите. Например, как именно не работает:
'/<id>/<page>'=>'<section>/</page>'

PS: код лучше оформлять тегами code
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users