테스트 사이트 - 개발 중인 베타 버전입니다

Get device change url 함수의 위치 채택완료

dksldk 2년 전 조회 1,906

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개

채택된 답변
+20 포인트
R
2년 전

/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개

d
dksldk
2년 전
감사합니다 이런 함수 위치는 어떻게 찾죠? Linux grep인가요??

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

2년 전

네~ 같은 파일에 있습니다~

 

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개

d
dksldk
2년 전
와 감사합니다! 좋은 하루되세요

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

2년 전

안녕하세요. 

 

질문의 위치를 말씀하신건가요?

 

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개

d
dksldk
2년 전
감사합니다 혹시 get params Marge 함수도 같은 파일에 있나요?

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

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

로그인