Get device change url 함수의 위치 채택완료
Pc버전 보기라는 버튼만 고치면 되는
문제가 생겼습니다. 근데 그 get decive change url 함수의 원본 파일 위치가 필요하네요
#상황:
모바일버전으로는 잘 되는데
이상하게
Pc버전 보기를.스마트폰에서 눌렀더니...
사이트주소/bbs/:///bbs/board.php?bo_table=notice&wr_id=1&device=pc
요렇게 이상한 주소로 리다이렉팅 됩니다.
보이시죠? Bbs뒤에 :///bbs가 쓸데없이 붙은 게 왔습니다.
즉 처음 bbs가 기본인데 그 뒤에 :///bbs/board.. 식의
상대경로가 bbs 뒤에 주소로 붙게 한 함수가 불러진 것 같군요
#해결 실마리:
저기서 :///bbs를 브라우저 창에서 직접 지우니
그때부터는 다시 pc버전으로 나오고 다른 링크 클릭하고
해도 정상적으로 잘 되니 저 버튼만 고치면 되더군요.
#궁금증:
즉 get device change url함수를 저 버튼을 직접 보니
콜 하던데 제 호스팅이 좀 경로가 문제가 있어서
에러가 나는 듯 합니다
그래서 저 함수 자체를 직접 수정하려하는데
저 주소 붙는 설정 파일이 뭘까요 ㅠㅠ
답변 3개
/lib/common.lib.php 3384 줄 내외에 있네요
</p>
<p>function get_device_change_url()</p>
<p>{</p>
<p> $q = array();</p>
<p> $device = (G5_IS_MOBILE ? 'pc' : 'mobile');</p>
<p> $q['device'] = $device;</p>
<p> </p>
<p> return get_params_merge_url($q);</p>
<p>}</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
네~ 같은 파일에 있습니다~
function get_params_merge_url($params, $url=''){ $str_url = $url ? $url : G5_URL; $p = @parse_url($str_url); $href = (isset($p['scheme']) ? "{$p['scheme']}://" : '') . (isset($p['user']) ? $p['user'] . (isset($p['pass']) ? ":{$p['pass']}" : '').'@' : '') . (isset($p['host']) ? $p['host'] : '') . ((isset($p['path']) && $url) ? $p['path'] : '') . ((isset($p['port']) && $p['port']) ? ":{$p['port']}" : ''); $ori_params = ''; if( $url ){ $ori_params = !empty($p['query']) ? $p['query'] : ''; } else if( $tmp = explode('?', $_SERVER['REQUEST_URI']) ){ if( isset($tmp[0]) && $tmp[0] ) { $href .= $tmp[0]; $ori_params = isset($tmp[1]) ? $tmp[1] : ''; } if( $freg = strstr($ori_params, '#') ) { $p['fragment'] = preg_replace('/^#/', '', $freg); } } $q = array(); if( $ori_params ){ parse_str( $ori_params, $q ); } if( is_array($params) && $params ){ $q = array_merge($q, $params); }
$query = http_build_query($q, '', '&'); $qc = (strpos( $href, '?' ) !== false) ? '&' : '?'; $href .= $qc.$query.(isset($p['fragment']) ? "#{$p['fragment']}" : '');
return $href; }
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
안녕하세요.
질문의 위치를 말씀하신건가요?
function get_device_change_url() { $q = array(); $device = (G5_IS_MOBILE ? 'pc' : 'mobile'); $q['device'] = $device;
return get_params_merge_url($q); }
/lib/common.lib.php 입니다~
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인