인프런 커뮤니티 질문&답변

민경언님의 프로필 이미지
민경언

작성한 질문수

PHP 개발자의 최종 테크트리, 라라벨 강의

미들웨어를 생성하고 라우팅에 적용시키는 법을 실습하여 봅니다.

미들웨어 실습 시 data 가 false 일 경우 에러 문의

작성

·

118

0

if ($request->input("data") == "true") {

return $next($request);

}else{

return redirect("/");

}

부분에서..

브라우저에 http://localhost/?data=false 라고 하면

라고 나옵니다.. 무한루프? 같은 것이 아닐까 싶은데요.

라라벨 11 버전 이지만 9 버전과 작성법이 다르지는 않은 것 같은데요..

왜 그럴까요?

true 의 경우는 문제가 없습니다.

 

 

답변 1

0

백승철님의 프로필 이미지
백승철
지식공유자

미들웨어가 example.com/ 에도 적용이 되어서 그렇습니다. 조건문이 거짓이니 무한정으로 메인 라우터(/)로 계속해서 redirect 되다 보니 리디렉션 횟수 오류가 뜨는 것 입니다. 이를 해결하려면 web.php 에서 해당 라우팅에 미들웨어를 제거해 주세요.

민경언님의 프로필 이미지
민경언
질문자

영상에서는 false 로 할 경우 home 으로 가는데요..

똑같이 했는데 왜 오류가 발생 하는지를 문의 드린 건데요..

미들웨어에 대해서 공부 하고 있는데 문제 해결을 위해서 미들웨어를 제거 하면 된다는 답변이 맞는 답변 인가요?

 

왜 똑같이 했는데..안되는지 다시 문의 드립니다.

잘 모르시겠다면 모르시겠다고 하셔도 됩니다.

어떻게 모든 오류를 다 알겠습니까..

백승철님의 프로필 이미지
백승철
지식공유자

제가 말씀을 정확하게 드리지 못했네요. localhost/test 안에만 미들웨어가 적용되어서 만약 data=false 가 적용된다면 else 문이 적용되어 localhost 로 이동되도록 영상에서는 설명드리고 있는데 현재 말씀하시는 오류를 보면 미들웨어가 '/' 에도 적용되어 위 같은 무한루프가 발생하는 것으로 보인다고 말씀 드렸던 부분입니다. 자세한 사항은 web.php 도 확인을 해봐야 알것 같습니다. 그리고 시비를 거는 듯한 답변은 삼가해 주시길 바라겠습니다.

민경언님의 프로필 이미지
민경언

작성한 질문수

질문하기