我有一个带有索引操作的控制器,在其中我使用重定向来路由:
$this->redirect()->toRoute('dummy-route')->setStatusCode('301');
这适用于我的本地开发机器,但是一旦我将它部署到暂存重定向就不再起作用了。我设置了一个 header('Location: ') 只是为了查看重定向是否正常工作并且它是否按预期工作。
什么可以使 zf2 重定向在第二台机器上不起作用?
@noobie-php 是的,这是代码:
public function indexAction()
{
$this->redirect()->toRoute('base-calculator')->setStatusCode('301');
exit;
}
和路线:
'application' => array(
'type' => 'Literal',
'options' => array(
'route' => '/application',
'defaults' => array(
'__NAMESPACE__' => 'Application\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(
),
),
),
),
),
'base-calculator' => array(
'type' => 'Segment',
'options' => array(
'route' => '/calculate[/:criteriaFirst][/:criteriaSecond]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Application\Controller\Index',
'action' => 'calculator',
),
),
)