Get device change url 함수의 위치

Get device change url 함수의 위치

QA

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 줄 내외에 있네요


function get_device_change_url()
{
    $q = array();
    $device = (G5_IS_MOBILE ? 'pc' : 'mobile');
    $q['device'] = $device;
 
    return get_params_merge_url($q);
}

안녕하세요. 

 

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

 

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  입니다~

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

 

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;
}
 

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

회원로그인

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