#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. Я так и сделал, но безуспешно