NGINX 설정 정규식 리퍼러 적용 아시는분안계세요?
본문
NGINX에서
리퍼러가 같은사이트내 리퍼러가 아니거나
주소창에 리퍼러없이 접속하는경우
공지사항이나 특정페이지로 이동시키고십습니다
제가 밑에와같이 해봤더니 안되더라고요
if ( $http_referer ~* !(sir.kr/qa) ) {
return sir.kr/notice; //공지사항 이나 다른주소로 옮기기
}
예를들어
밑의사이트에
https://sir.kr/qa/364754 접속 한다고치면
https://sir.kr/ 로 접속한게 아니거나
주소창에 리퍼럴없이 주소창에서 바로접속하면
공지사항 게시글로 이동시키던지 하고싶습니다
답변 2
return 은 http code 입니다. url을 넣는다고 해서 주소로 이동되지 않습니다.
return 구문을 rewrite 구문으로 변경하시면 잘 동작할거에요.
위와 같은 로직을 잘못 처리하면 무한 redirect될수 있으니 조심해서 사용하세요.
캐시 지우고 하셔야 해보세요. 어렵진 않은데 여러번 해봐야 감이 잡힐거에요. 특히 캐시 잘 지우고 테스트 하세요. 크롬 옵션에서 캐시를 꺼두고 테스트 하면 편합니다.
답변을 작성하시기 전에 로그인 해주세요.