Я пытаюсь перенаправить /my-old-url/$slug
к /news/$slug
в CakePHP со следующим кодом: (? Может быть ошибка)CakePHP: перенаправление с помощью маршрутизатора :: редирект не сохраняет PARAMS
Router::redirect(
'/my-old-url/*',
array('controller' => 'news', 'action' => 'view'),
array('persist' => true)
);
Используя этот код выдает ошибку
Предупреждение (2): Недействительный аргумент для Еогеаспа() [ОСНОВНОЙ/торт/маршрутизация/Маршрут/CakeRoute.php, строка 381]
public function persistParams($url, $params) { foreach ($this->options['persist'] as $persistKey) {
Даже пытается следующий код не работает:
Router::redirect(
'/my-old-url/:slug',
array('controller' => 'news', 'action' => 'view'),
array('persist' => array('slug'))
);
Этот код перенаправляет мой к /news/view
без каких-либо параметров.
Я использую следующий код для подключения новостей URL-адресов:
Router::connect('/news',
array('controller' => 'news', 'action' => 'index')
);
Router::connect('/news/:slug',
array('controller' => 'news', 'action' => 'view'),
array('pass' => array('slug'))
);
Что делать?
Изменить 'persist' на 'pass' – kicaj
@kicaj Любая замена 'persist'' pass' в первом коде или во втором помогает. Но теперь оба варианта кода перенаправляются на '/ news/view' без каких-либо параметров. – Jan
Какая версия cakephp вы? – user221931