Havin在Zend模块中遵循结构
模块名称
现在,当访问网站时,例如登录文件,它将如下http://justsite.something.com/login
问题需要更改为http://justsite.something.com/login/,因为我在登录文件夹中添加了另一个文件夹索引,并且像这样推出了index.phtml文件
但这似乎不起作用。我应该更改LoginController.php以使其工作吗?
module.confing.php
'router' => array(
'routes' => array(
'test' => array(
'type' => 'Literal',
'options' => array(
'route' => '/test',
'defaults' => array(
'__NAMESPACE__' =>'Test\Controller',
'controller' => 'Index',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'default' => array(
'type' => 'Segment',
'options' => array(
'route' =>
'/[:controller[/:action]]',
'constraints' => array(
'controller' =>
'[a-zA-Z][a-zA-Z0-9_-]*',
'action' =>
'[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(),
),
),
),
),
'login' => array(
'type' => 'Literal',
'options' => array(
'route' => '/login/', // PUT HERE WHATEVER YOU WANT
'defaults' => array( // AND MAP THAT URL TO CONTROLLER/ACTION
'__NAMESPACE__' =>'Test\Controller',
'controller' => 'Login',
'action' => 'index',
),
),
),
),
),
已修复刚添加
'may_terminate' => true,
'child_routes' => array(
'default' => array(
'type' => 'Segment',
'options' => array(
'route' =>
'/[:controller[/:action]/]',
答案 0 :(得分:1)
就像@tasmaniski写道,你不需要对LoginController或其他任何东西进行更改,所有这些都归结为你的路由配置。您并不是唯一一个希望"在他的路线here you can read how you can achieve this中跟踪斜杠" 的人。
显然你需要把它放在[]
之间'route' => '/[:controller[/[:action[/]]]]',
希望能为你解决这个问题。
注意 有人建议使用重写规则,我认为这也值得一提。
答案 1 :(得分:0)
无论你的forlder结构是什么。您需要在配置文件module.config.php,“routes”部分进行更改。
您只需要在末尾添加带斜杠的“route”值并将其映射到控制器/操作。
'routes' => array(
'login' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/login/', // PUT HERE WHATEVER YOU WANT
'defaults' => array( // AND MAP THAT URL TO CONTROLLER/ACTION
'controller' => 'Application\Controller\Login',
'action' => 'index',
),
),
),
)