当用户希望彼此之间进行视频聊天时,我在页面上创建了视频室(通过Twig)。他们离开会议室后,将在一段时间后删除会议室,并且他们必须创建一个新会议室才能重新开始通话。问题是我有一个通知系统,该系统在您的通知中保留了旧的URL,并且当用户在一段时间后尝试再次单击该URL时,他会收到404。
我现在不希望有任何出色的解决方案,我只是想在房间不再可用时将用户转移到自定义树枝模板中-假设。 404video.html
感谢您的帮助!
/**
* @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(),
]);
}
答案 0 :(得分:1)
如果您使用的是Symfony 4,则需要在templates/bundles/TwigBundle/Exception/
中创建模板error404.html.twig,因此404页面将从此error404.html.twig(自定义模板)中呈现内容。
您可以在symfony官方网站上找到更多详细信息:https://symfony.com/doc/current/controller/error_pages.html
请注意,自定义错误页面仅在生产模式下可用,因此,如果要检查自定义404,则必须在生产模式下运行应用程序。