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

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

QA

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될수 있으니 조심해서 사용하세요.

 

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

답변을 작성하시기 전에 로그인 해주세요.
전체 96
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT