#zend-framework #zend-route #zend-controller-router
#zend-framework #zend-маршрут #zend-контроллер-маршрутизатор
Вопрос:
У меня проблема с Zend_Controller_Router_Route.
Я создал маршрут:
$router = $this->frontController->getRouter();
$route = new Zend_Controller_Router_Route(
'catalog/:categoryIdent/:page',
array( 'action' => 'index',
'controller' => 'catalog',
'module' => 'storefront',
'categoryIdent' => '',
'page' => 1 ),
array( 'categoryIdent' => '[a-zA-Z-_0-9] ',
'page' => 'd ' ) ); $router->addRoute('catalog_category', $route);
и это мой сценарий просмотра:
<div class="sub-nav">
<h3>select <span>category</span></h3>
<ul>
<? foreach ($this->categories as $category): ?>
<li><a href="<?=$this->url(array('categoryIdent' => $category->ident), 'catalog_category', true );?>"><?=$category->name; ?></a></li>
<? endforeach; ?>
</ul>
когда я навожу курсор мыши на категорию, ее href является точным (пример:http://localhost/projectzend/chapter5/public/catalog/hats ). Но когда я нажимаю, он возвращает URL-http://localhost /
В чем может быть проблема?
Комментарии:
1. что происходит при посещении localhost / projectzend / chapter5/public/ catalog / hats непосредственно в вашем браузере?
2.
throwExceptions(true)
вызывался ли у вас интерфейс-контроллер? Я предполагаю, что маршрут работает некорректно, и вы не получаете уведомления об этом (из-за отключенных исключений), а просто перенаправляетесь на базовый url.3. на что указывает ваш DOCUMENT_ROOT? www или projectzend / глава 5 / общедоступный?