NGINX 설정 정규식 리퍼러 적용 아시는분안계세요? 채택완료

NGINX에서 

리퍼러가 같은사이트내 리퍼러가 아니거나

주소창에 리퍼러없이 접속하는경우

 

공지사항이나 특정페이지로 이동시키고십습니다

 

제가 밑에와같이  해봤더니 안되더라고요

 

if ( $http_referer ~* !(sir.kr/qa) ) {
          return sir.kr/notice; //공지사항 이나 다른주소로 옮기기
       }
 

 

예를들어   

밑의사이트에

https://sir.kr/qa/364754  접속 한다고치면

 

 

https://sir.kr/ 로 접속한게 아니거나

주소창에 리퍼럴없이 주소창에서 바로접속하면

 

공지사항 게시글로 이동시키던지 하고싶습니다

 

 

답변 2개

채택된 답변
+20 포인트

return 은 http code 입니다. url을 넣는다고 해서 주소로 이동되지 않습니다.

return 구문을 rewrite 구문으로 변경하시면 잘 동작할거에요.

 

위와 같은 로직을 잘못 처리하면 무한 redirect될수 있으니 조심해서 사용하세요.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

슬그루님 redirect rewrite 바꿔봤는데 안되네요

https://sub0709.tistory.com/110
http://nginx.org/en/docs/http/ngx_http_referer_module.html

위의 ngiinx홈피에있는거 참고해도 잘안되네요

댓글을 작성하려면 로그인이 필요합니다.

캐시 지우고 하셔야 해보세요. 어렵진 않은데 여러번 해봐야 감이 잡힐거에요. 특히 캐시 잘 지우고 테스트 하세요. 크롬 옵션에서 캐시를 꺼두고 테스트 하면 편합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고