Исключение Laravel 404, пойманное обработчиком, дает 200 при тестировании пути с помощью CURL или браузера

#laravel #http-status-code-404

Вопрос:

Некоторые из допустимых URL-адресов рассматриваются как исключение 404, но на самом деле их можно успешно просмотреть и свернуть с 200.

Это происходит только тогда, когда new JenssegersAgentAgent()-gt;isRobot() есть true . Как я могу сделать URL-адреса действительными (200) для этих роботов? когда URL-адреса действительно действительны

Во app/Exceptions/Handler.php мне есть

 public function render($request, Throwable $exception) {  $code = null;  if(method_exists($exception, 'getStatusCode'))  {  $code = $exception-gt;getStatusCode();  }  $path = $request-gt;path();  if($code === 404) {  Logger::note_request_error($request, $code, $path);  }  return parent::render($request, $exception); }  

Во app/Logger.php мне есть

 static function note_request_error($request, $status_code, $path){  $site_url = env('app.site_url');  $staus = Http::timeout(4)-gt;get($site_url.$path)-gt;status();  if($staus == 200){  $agent = new JenssegersAgentAgent();  if($agent-gt;isRobot()){  $known_robot = $agent-gt;robot();  //AhrefsBot, GoogleBot  }  return 'Ops, I came here with 404, so how can I know the reason for this happening, why 200 now?'  }  else{  // note_this_not_reached_url($path);  } }  

Комментарии:

1. Странный. Не могли бы вы, пожалуйста, выполнить какую-нибудь команду очистки кэша, например, artisan optimize:clear затем повторить попытку.

2. Я так и сделал, но безуспешно