簡體   English   中英

使用 Symfony 為 Google Bot 返回狀態代碼 410

[英]Return Status Code 410 with Symfony for Google Bot

由於 Google Bot 使用錯誤的 URL 訪問我們的網站之一,作為管理員,我不斷收到服務器錯誤的困擾(原因是我在 3 個月前不小心提交了錯誤的站點地圖。是的,我已經重新提交、刪除、重新提交了幾次,但它是仍在訪問)。

我現在在 Google 論壇上了解到,使用 410 響應將使護目鏡機器人停止訪問。

有誰知道如何從 Symfony2 發送 410 響應? 如果那行不通,我也可以使用普通的 PHP 解決方案。

非常感謝您的幫助。

我試過這個,似乎有用。 一旦我了解它是否具有長期影響,將更新

   $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);

我用這個

$response = new Response();
$response->setStatusCode(410);
return $this->render('twig_template_uri', ['key'=> $value, ...], $response);

當數據存在但例如“isActive = false”時,我在控制器中使用它

您可以使用 GoneHttpException

throw new GoneHttpException();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM