👉 SEO의 강화를 위해 404 에러가 발생하였을 경우, 404 페이지로 이동시킬 필요가 있습니다.
🧙 Solution
👉 ErrorPageController를 하나 제작합시다.
아래의 소스코드를 참고하여 작업하시면 됩니다.
package com.ointex.noticeboard.controller;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
@Controller
public class ErrorPageController implements ErrorController {
@Override
public String getErrorPath() {
return null;
}
@GetMapping("/error")
public String handleError(HttpServletRequest request) {
Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
if(status != null){
int statusCode = Integer.valueOf(status.toString());
if(statusCode == HttpStatus.NOT_FOUND.value()) {
return "error/404.html";
} else {
return "error/error.html";
}
}
return "error/error.html";
}
}
👉 error.html 혹은 404.html은 제작하셨죠?
해당 페이지들을 적절한 경로에 배치시키면 끝납니다.
"적절한 경로" 라고 표현한 이유는 아시겠지만
이 포스팅을 보는 분들마다 프로젝트 환경이 다르기 때문입니다.
저는 JPA 프로젝트이므로 templates 하단에 error 폴더를 만들었습니다.
작업에 참고가 되실 듯 합니다. 잘 모르시겠다면, 댓글 남겨주세요 ^ ^
🏆 Result
👉 잘못된 URL로 들어갔을 경우, 404페이지로 강제이동되는 것을 볼 수 있습니다.
Did my writing help you?
Please press the Thumb Up button
If you have any questions, please leave them in the comments