Sangil's blog

https://github.com/ChoiSangIl Admin

spring boot 301메세지로 페이지 이동 알리기(redirect) DEV / WEB

2020-02-05 posted by sang12


블로그를 운영하며 사용자의 접속자 수나 접속페이지를 보기위해 구글 아날리틱스를 이용하고 있습니다. 그런데 처음 개발을 할때 게시글의 구조를 도메인/게시글id (sang12.co.kr/1) 형태로 개발을 하여서, 접속 페이지를 보기 위해선 게시판아이디의 게시물이 뭔지 알고 있거나 직접 들어가야하는 방법밖에 없었습니다. 너무불편..답답 그래서 도메인/게시글id/제목(sang12.co.kr/1/title) 형태로 변경을 했습니다.

하지만 저렇게 변경해서 등록했음에도 불구하고 여전히 사람들은 기존에 주소로 들어오고 있네요..? 물론 RSS에도 등록을 해줘서 시간이 지난다면 변경된 URL로 자연스럽게 바뀔수도 있겠지만... 구글에게 변경된 주소를 알려줘야 겠다고 생각했습니다.
이럴때 사용하는게 301메세지인데요. 구글 로봇은 저의 URL로 접속 할 때, 301메세지를 받으면 아! 이 주소가 기존의 주소에서 변경됬구나 라고 알게됩니다.  302메세지는 임시로 바꿨어~ 라는 메세지가 되죠.

잡설이 길었네요 그럼 이제 spring boot에서 301메세지로 redirect 시키는 방법을 알아보겠습니다. 

        @RequestMapping("/redirect/{articleId}")
	public RedirectView redirectTest(@PathVariable int articleId){
		//String redirectUrl = "www.naver.com";
		String redirectUrl = "/redirect/" +articleId+ "/test";
		RedirectView redirectView = new RedirectView(redirectUrl);
		redirectView.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
	    return redirectView ;
	}

setStatusCode를 이용해 HttpStatus.MOVED_PERMANENTLY(302) 메세지를 전달하며 이동된 페이지(redirectUrl)로 리다이렉트 시켜줍니다. 

이제 누가 어떤 페이지를 보고 있는지 알 수 있겠네요 만족!

#spring boot 301 #spring 301 #spring boot redirect #spring boot 페이지 이동 #구글아날리틱스 url
REPLY