내 IndexController에서 현재 indexAction (homepage), loginAction 및 logoutAction이 있습니다. domain.com/index/login 대신 domain.com/login을 얻기 위해 URL에서 "/ index /"를 제거하려고합니다.Zend_Controller_Router_Route를 사용하여 IndexController에서 작업에 대한 친숙한 URL 만들기
이것을 달성하는 가장 깨끗한 방법은 무엇입니까? 우리가 사용할 수있는 RegEx가 있습니까? URL에/index /를 원하지 않습니다.
내가 개선 할 수 있다고 생각하는 현재의 솔루션은 다음과 같습니다. 또한 addRoute()의 첫 번째 매개 변수는 무엇을합니까?
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initViewHelpers()
{
$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
$router->addRoute('login',
new Zend_Controller_Router_Route('login/*', array(
'controller' => 'index',
'action' => 'login'
))
);
$router->addRoute('logout',
new Zend_Controller_Router_Route('logout/*', array(
'controller' => 'index',
'action' => 'logout'
))
);
}
}
: 당신이 URL에 "인덱스"없이 오직 하나의 경로를 원하는 경우, 같은 경로를 사용할 수 있습니다. RegEx를 사용하여 addRoute()를 한 번만 사용해야하는 방법을 찾고 있습니다. – jwhat
답변을 업데이트했습니다. 왜 Zend_Navigation의 문제점은 무엇입니까? –
고마워요! 그것은 제외하고 일했다. addRoute()에 대한 첫 번째 매개 변수를 'default'에서 'index'로 변경해야했다. 그렇지 않으면 내 URL이 domain.com/index/controller/login으로 끝났다. Zend_Navigation에는 아무런 문제가 없습니다. 하이퍼 링크를 직접 만들지 않고, $ this-> navigation() -> menu(); 내 레이아웃에서. – jwhat