Имя удаленного контроллера из CakePHP URL - PullRequest
0 голосов
/ 11 апреля 2011

У меня проблема с переписыванием URL.

Проблема, с которой я сталкиваюсь, заключается в том, что в настоящее время наши URL выглядят так:

http://www.xyz.com/sc_users/index

Я не хочу, чтобы имя контроллера отображалось в этом URL.

Есть ли способ добиться этого ??

Прежде всего, спасибо, ребята ..

Как будто у меня 8 контроллеров, я не хочу, чтобы имя контроллера отображалось в моем URL .... это то, что я хочу ..

Точнее, нет имени контроллера в моем URL

Ответы [ 3 ]

1 голос
/ 11 апреля 2011

Вы можете определить пользовательские маршруты в app/config/routes.php.Вы найдете все о маршрутах в кулинарной книге CakePHP в Определение маршрутов Например, пользовательский маршрут может выглядеть так:

Router::connect(
    '/the_url_you_want_to_use/*', array('controller' => 'sc_users', 'action' => 'index')
);
0 голосов
/ 11 апреля 2011

Это просто: в каталоге / config есть файл rout.php: там вы можете переписать URL так:

Router::connect('/pages/*', array('controller' => 'cmsPage', 'action' => 'render'));

Вы можете передавать в контроллер более сложные переменные:

Router::connect('/:id-:lang-:profile-:firstName-:lastName-:profile.htm',
    array('controller' => 'profiles','action' => 'view'),
    array('id'=>'[0-9]*', 'lang'=>'fr','firstName'=>'[^-]*','lastNAme'=>'[^-]*','profile' => $util->keywords['profiles'][0]['fr'], 'pass' => array('id', 'lang'),'profile' => $util->keywords2['profiles'][0]['en'])
)

;

Как вы можете видеть в последнем примере, я передал 2 параметра в контроллер через 'pass' => array ('id', 'lang')

0 голосов
/ 11 апреля 2011

Вам нужно прочитать о CakePHP маршрутизации , посмотрите примеры в разделе «Определение маршрутов».Уточните свой вопрос так, как бы вы хотели, чтобы ваши URL выглядели, и мы сможем помочь вам более эффективно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...