@spido

Как выдать ошибку 410 странице, если в середине ссылки есть знак вопроса?

Приветствую!

Есть ссылки, которым нужно присвоить ошибку 410, если в середине ссылки имеется знак вопроса:
https://mysite.com/ru?khl-service=
https://mysite.com/en?gdf-service=
https://mysite.com/es-mx?opl-service=


Сделал условие:
use Illuminate\Support\Str;

if (Str::contains(request()->getRequestUri(), '?')) {
 header("HTTP/1.1 410 Gone");// Сообщаем браузеру, что страница удалена по коду 410 Gone
 exit;		
}

Но условие не работает.

Подскажите как сделать правильно?
  • Вопрос задан
  • 15 просмотров
Пригласить эксперта
Ответы на вопрос 1
RusPOPsy
@RusPOPsy
Говорила мама, учи математику ...
Где условие то разместили?
Вообще то должно работать, только это на Laravel подход ...

Правильно будет через Middleware
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Symfony\Component\HttpFoundation\Response;

class UriIsGone
{
    public function handle(Request $request, Closure $next): Response
    {
        if (Str::contains(request()->getRequestUri(), '?')) {
            return \response("Gone error", 410);
        }
        return $next($request);
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы