Маршрут Zend Framework не работает при передаче URL-адресов в качестве параметров маршрута
Когда я пытаюсь передать URL в маршруте ниже, это выдает ошибку 404. Если я заменим URL любой другой строкой, это сработает.
Это маршрут.
$route = new Zend_Controller_Router_Route(
'user/logout/:preserve/:ref',
array(
'action' => 'logout',
'controller' => 'user',
'module' => 'root',
'preserve' => false,
'ref' => ''
)
);
$router->addRoute('logout', $route);
Вот как я генерирую URL в моих представлениях.
<a href="<?php echo $this->url(array('preserve' => 1, 'ref' => $this->url()), 'logout'); ?>">Logout</a>
Это URL, который генерируется помощником просмотра URL.
/user/logout/1/http%3A%2F%2Feop.localhost.com%2F
Я не могу понять, почему это не работает. Может кто-нибудь, пожалуйста, помогите с этим?
Благодарю.
1 ответ
Решение
Мне удалось решить проблему, применив urlencode()
функция моего сгенерированного URL.
Надеюсь, это сэкономит кому-то еще время.