외부에서 링크타고 올때 device=mobile 까지 함께 오는 경우가 있습니다

외부에서 링크타고 올때 device=mobile 까지 함께 오는 경우가 있습니다

QA

외부에서 링크타고 올때 device=mobile 까지 함께 오는 경우가 있습니다

본문

 

외부에서 링크타고 올때 &device=mobile 까지 함께 오는 경우가 있습니다

문제는 PC에서 클릭했을때 모바일페이지로 간다는것 입니다.

 

홈 어디에서 저 변수를 지워줘야 할것 같은데

어디서 어떻게 해야 가장 효과적일까요

 

이 질문에 댓글 쓰기 :

답변 1

/common.php에서 

 

else if ($_REQUEST['device']=='mobile') 

 

이게 pc에서 모바일로 바꾸는거에요.

 

이걸 수정하시는게 제일 효과적이죠 ^^

흠... 외부에서 mobile을 타고 오면 그냥 pc로 보여주고 싶으신거죠???

php에 $_SERVER[HTTP_REFERER]라고 있어요. 이게 현제페이지로 넘오이기 이전의 페이지의 값을 가지고 있는데요.

이게 다른 홈페이지?라고 해야할까요? 흠... 만약 네이버에서 넘어왔다면 네이버에 대한 값을 가지고 있지 않아요. 자기 호스팅??? 도메인!!! 이 아니면 값을 받지를 못해서 외부링크로 왔는지 안왔는지 확인할 수 있죠.

print_r($_SERVER);

이걸 head.php에 넣어두고 페이지를 넘어가다보면 현제페이지 이전페이지에 대한 정보와 접속자에 대한 정보들이 다나오니깐 이거 보면서 하시면 편하실꺼에요!!!

추가덧글 감사 드립니다.
REFERER 이용해서 나름 해결은 했습니다만 다른분에게도 중요할듯 해서 다시 질문을 정리 해봅니다.

외부에서 타고올때 'device' 까지 지정해서 오면 각 버젼으로 가는데요
외부에서 올때 url 에 있는 'device' 지정변수 무력화 하고 진짜 현제 디바이스가 뭔지 다시 검사 해서
각각 모바일이면 모바일 피씨면 피씨로 가야 겠지요

else if ($_REQUEST['device']=='mobile') {//일단 파라미터값들중에 divice라는 변수에 mobile이라는 값이 있다면
        if(!$_SERVER[HTTP_REFERER]){//내 사이트가 아니라 리퍼러값이 없다면
                  //여기서 pc로 바꿔주시면되죠 ^^
        }
        //여기는 디바이스라는 게 모바일이라는 값을 가지고 있고 리퍼러값이 있어서 내 홈페이지 내에서 링크를 걸어준거라면 처리하는 곳이니 기존 소스를 남겨두시면 됩니다~~
}

덧글 감사 드려요

문제는 외부에서 오면서
'mobile' 이라고 지정해서 오면서 실제 기기가 모바일이면 모바일로 가야 한다는것 입니다.
다만 기기가 PC 일때만 PC로 가야 하는것 이구요

드래곤되다님의 의견은 외부에서 오면 무조건 PC로 갈것 같습니다.

그리고 홈페이지 내부에서도 $_SERVER[HTTP_REFERER] 값은 존재 하는것으로 확인되서
$_SERVER[HTTP_REFERER] 에 운영 홈페이지 주소가 있는지 문자열검사 해야 될것 같습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 3

회원로그인

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