@EVOSandru6

Почему в yii1 по разному воспринимаются get параметры в клиентской части и в админке?

Добрый день,

Подскажите, почему если я нахожусь в клиентской части - то при Отображении GET параметров, они отображаются в виде массива:

hotel/2
Array
(
    [2] => 
    [tenant] => 2
)


В случае, если я нахожусь в админке, то они выводятся слитно в виде строки:

hotel/2/sadmin/bids/update/45
Array
(
    [2/sadmin/bids/update/45] => 
)


(Как строка)

Также в данном случае при Использовании Yii::app() определяются неправильные значения для:
Контроллер : site
Действие : error
Модуль : ''

UrlManager:

'class'             =>  'DTenantUrlManager',
    'urlFormat'         =>  'path', // path,get
    'showScriptName'    =>  false,  // index.php
    'rules'             =>
    [
        '<tenant:\d+>/'                                                         =>   'hotels/index',
        '<tenant:\d+>/<action:(login|logout|registration)>'                     =>   'users/<action>',
        '<tenant:\d+>/<action:(contact)>'                                       =>   'site/<action>',
        '<tenant:\d+>/<controller:\w+>/<id:\d+>'                                =>   '<controller>/view',
        '<tenant:\d+>/<controller:\w+>/<action:\w+>/<id:\d+>'                   =>   '<controller>/<action>',
        '<tenant:\d+>/<controller:\w+>/<action:\w+>'                            =>   '<controller>/<action>',
        '<tenant:\d+>/<module:\w+>'                                             =>   '<module>/default/index',
        '<tenant:\d+>/<module:\w+>/<controller:\w>'                             =>   '<module>/<controller>/index',
        '<tenant:\d+>/<module:\w+>/<controller:\w>/<id:\d+>'                    =>   '<module>/<controller>/view',
        '<tenant:\d+>/<module:\w+>/<controller:\w>/<action:\w+>/<id:\d+>'       =>   '<module>/<controller>/<action>/<id>',
        '<tenant:\d+>/<module:\w+>/<controller:\w>/<action:\w+>'                =>   '<module>/<controller>/<action>',
    ],
];


Метод getRequestUri() у класса CHttpRequest Не переопределял.

Но при этом почему то читается следующий URL:

hotel/2/sadmin/bids

Контроллер : bids
Действие : index
Модуль : sadmin

В чем может быть причина?
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
в последних четырех правилах ошибка, должно быть w+ у controller
именно поэтому они игнорируются при разборе урла
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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