Задать вопрос
@zlaravel

Как исправить Циклическое перенаправление на странице?

Циклическое перенаправление на странице

Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

Эта проблема может возникать при отключении или запрещении принятия кук.
<?php

namespace App\Http\Middleware;

use Closure;

class Mymiddleware
{
    public function handle($request, Closure $next)
    {
        if($request->route('page') != 'pages' ) {
            return redirect()->route('home');
        }

        return $next($request);
    }
}

<?php

Route::get('/', ['as'=>'home','uses'=>'Admin\IndexController@show']);
Route::get('/about/{id}','FirstController@show');
Route::get('/articles',['uses'=>'Admin\Core@getArticles','as'=>'articles']);
Route::get('/article/{id}',['uses'=>'Admin\Core@getArticle','as'=>'article']);
Route::get('/article/{page}',['middleware'=>'mymiddle:home','uses'=>'Admin\Core@getArticle','as'=>'article']);
Route::get('/pages', [PagesController::class, 'getIndex']);
  • Вопрос задан
  • 4507 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    PHP-фреймворк Laravel
    2 месяца
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
Решения вопроса 1
megakor
@megakor
Senior Go developer at VK Video
Вы опишите задачу, которая стоит перед вами.
В данный момент у вас действительно бесконечный редирект.
Попробуйте так, отредактировав логику перенаправления:

public function handle($request, Closure $next)
{
    if(! in_array($request->route()->getName(), ['home', 'pages'])) {
        return redirect()->route('home');
    }

    return $next($request);    
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы