Php 使用Symfony重定向功能时在路由URL中定位
我正在使用Php 使用Symfony重定向功能时在路由URL中定位,php,symfony,Php,Symfony,我正在使用 /** * @Route("page/#page") */ public function redirectAction() { return $this->redirectToRoute('page'); } 但我需要能够锚定“#”,但我找不到这样做的方法。有什么想法吗?你得用新的。我看到你有一个symfony2标签,它应该也是最新版本的symfony2 您不能向布线注释添加锚定,但需要进行以下更改: /** * @Route("page") * */ p
/**
* @Route("page/#page")
*/
public function redirectAction()
{
return $this->redirectToRoute('page');
}
但我需要能够锚定“#”,但我找不到这样做的方法。有什么想法吗?你得用新的。我看到你有一个symfony2标签,它应该也是最新版本的symfony2 您不能向布线注释添加锚定,但需要进行以下更改:
/**
* @Route("page")
*
*/
public function redirectAction()
{
return $this->redirectToRoute(
$this->get('router')->generate('page', [
'_fragment' => 'page'
])
);
}
这假定呈现的页面中有一个页面锚。您可以使用
重定向
而不是重定向路由
public function yourAction()
{
return $this->redirect(
$this->generateUrl('url_route_name') . '#page',
['param1' => $param1]
);
}
在控制器中,无法获取散列。 可能的副本 相反,您应该将控制器更改为:
/**
* @Route("page/{page}")
*/
public function redirectAction($page)
{
return $this->redirectToRoute($page);
}
您也需要调整请求。谢谢您的回答,但我需要知道用户何时进入此路由,例如:,这样我就可以重定向到另一个页面,而不仅仅是在路由末尾添加“#”,谢谢您的回答,但我需要知道用户何时进入此路由,例如:example.com/#helloWorld,因此,我可以重定向到另一个页面,而不仅仅是在路线的末尾添加“#”,我使用的是sf 2.8 btw。