Php Symfony-仅从一个URL将404重定向到自定义模板
当用户想要开始彼此之间的视频聊天时,我在我的页面上创建了视频聊天室(通过细枝)。当他们离开房间时,房间在一段时间后被删除,他们必须创建一个新房间才能再次开始交谈。问题是,我有一个通知系统,它将旧URL保留在通知中,当用户尝试在一段时间后再次单击该URL时,他会收到404 我不想在这一点上有任何出色的解决方案,我只想移动用户到自定义小枝模板,如果房间不再可用-让我们说。404video.html 谢谢你的帮助Php Symfony-仅从一个URL将404重定向到自定义模板,php,symfony,Php,Symfony,当用户想要开始彼此之间的视频聊天时,我在我的页面上创建了视频聊天室(通过细枝)。当他们离开房间时,房间在一段时间后被删除,他们必须创建一个新房间才能再次开始交谈。问题是,我有一个通知系统,它将旧URL保留在通知中,当用户尝试在一段时间后再次单击该URL时,他会收到404 我不想在这一点上有任何出色的解决方案,我只想移动用户到自定义小枝模板,如果房间不再可用-让我们说。404video.html 谢谢你的帮助 /** * @Route("/video/join/{room_name}", nam
/**
* @Route("/video/join/{room_name}", name="videochat_join")
*
* @param $room_name
*
* @return RedirectResponse|Response
*
* @throws \Twilio\Exceptions\ConfigurationException
* @throws \Twilio\Exceptions\TwilioException
*/
public function joinVideo($room_name)
{
$user = $this->getCurrentUser();
$twilio = new Client(getenv('TWILIO_API_KEY'), getenv('TWILIO_API_SECRET'));
$room = $twilio->video->v1->rooms($room_name)->fetch();
$roomSid = $room->sid;
$token = new AccessToken(getenv('TWILIO_ACCOUNT_SID'), getenv('TWILIO_API_KEY'), getenv('TWILIO_API_SECRET'), 3600, $user->getEmail());
$videoGrant = new VideoGrant();
$videoGrant->setRoom($room_name);
$token->addGrant($videoGrant);
return $this->render('chat/video_join.html.twig', [
'roomSid' => $roomSid,
'roomName' => $room_name,
'accessToken' => $token->toJWT(),
]);
}
如果您使用的是Symfony 4,则需要在
模板/bundles/TwigBundle/Exception/
中创建模板error404.html.twig,因此404页面将呈现来自此error404.html.twig(自定义模板)的内容
您可以在symfony官方网站上找到更多详细信息:
请注意,自定义错误页面仅在生产模式下可用,因此,如果要检查自定义404,则必须在生产模式下运行应用程序。这有点不同,不幸的是,因为是Twig根据从API接收的内容生成异常,它不是典型的404。在这种情况下,我想在我共享的代码中关闭它,并将其转发到自定义的404x.html.twig模板,或者将chat/video_join.html.twig(比方说)中的所有异常转发到自定义的404x.html.twig请不要破坏您的帖子。这可能会导致一个错误。通过在Stack Exchange网络上发布,您已授予SE分发该内容的不可撤销的权利(根据)。根据SE政策,任何故意破坏行为都将恢复原状。如果您想将此帖子与您的帐户解除关联,请参阅(假设这是一系列错误点击)。)在一次在线工作聊天中,我确实让一只猫在我的键盘上跑来跑去。它确实发生了