Код состояния возврата 410 с Symfony для Google Bot
Поскольку Google Bot посещает один из наших веб-сайтов с неправильными URL-адресами, я постоянно получаю сообщения об ошибках сервера, которые приводят меня к ошибке как администратора (причина в том, что я случайно отправил неверный файл карты сайта 3 месяца назад. Да, я повторно отправил, удалил, повторно отправил несколько раз, но это еще в гостях).
Теперь я узнал на форуме Google, что использование ответа 410 приведет к тому, что бот goggle прекратит посещение.
У кого-нибудь есть идея как отправить ответ 410 от Symfony2? Если это не сработает, я также буду в порядке с простым PHP-решением.
Большое спасибо за любую помощь.
4 ответа
Я пробовал это, кажется, работает. Буду обновлять, как только узнаю, имеет ли он долгосрочный эффект
$response = new Response();
$response->headers->set('Content-Type', 'text/html');
$response->setStatusCode(410);
return $response;}
Это в основном то же самое, что и предыдущий ответ, но с использованием шаблона Twig 404 (вы должны создать) и одного вкладыша:
use Symfony\Component\HttpFoundation\Response;
...
return new Response($this->renderView('TwigBundle:Exception:error404.html.twig'), Response::HTTP_GONE);
Вы можете использовать GoneHttpException
throw new GoneHttpException();
я использую это
$response = new Response();
$response->setStatusCode(410);
return $this->render('twig_template_uri', ['key'=> $value, ...], $response);
Я использую это в контроллере, когда данные существуют, но, например, «isActive = false»