Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Symfony重定向功能时在路由URL中定位_Php_Symfony - Fatal编程技术网

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。