네이버페이 연동 오류 질문입니다(http 리다이렉트 오류)

네이버페이 연동 오류 질문입니다(http 리다이렉트 오류)

QA

네이버페이 연동 오류 질문입니다(http 리다이렉트 오류)

본문

안녕하세요 최초로 있던 네이버페이 연동 오류인 4개중 3개를 모두 수정하고 나머지 하나만 남겨놓고 있는 사이트제작을 꿈꾸는 왕초보 대학생입니다...

 

이게 이렇게까지 오래 제 발목을 잡을 줄 몰랐는데 이게 또 이렇게 되긴 되네요ㅜㅜ

벌써 5~6번째 재검수 요청 끝에 이렇게 질문을 올려봅니다...

 

ssl을 등록한 이후 htaccess에 https 리다이렉트를 시켜놓은 상황에서 네이버가 원하는 구간만 http로 리다이렉트 하는것...말로는 정말 쉽지만 이게 아무것도 모르는 상태에서 인터넷 뒤져가며 해보니 정말 쉽지 않았습니다...

 

거짓말 하나도 안보태고 몇십개의 q&a, 구글링, 심지어 네이버 카페까지 모든곳을 다 돌아다녀보며 적용시켜보고 응용도 해봤지만 돌아오는 메일은 항상 똑같네요ㅠㅠ

 

재검수 메일은 다음과 같았습니다.

 

 

현재 한 개의 상품을 제외한 나머지 상품의 상품정보xml 및 네이버페이 찜하기 시 전달해주시는 이미지 URL 정보는 http로 구성되어 있지만, 이미지 URL 접속시 https로 리다이렉트 되고 있습니다. 

TLS(SSL/HTTPS) 프로토콜 사용 시 네이버페이 서버가 해당 경로로 접근할 수 없어 이미지 수집에 실패할 수 있습니다.

전 상품 이미지 URL 접속 시 http:// -> https:// 로 리다이렉트 되지 않도록 수정 부탁드립니다.

 

그리고 현재 제 htaccess 파일의 상황은 이렇습니다.

 


<IfModule mod_url.c>
    checkURL On
    ServerEncoding EUC-KR
    ClientEncoding UTF-8
</IfModule>
php_flag register_globals on
php_flag register_long_arrays on
#### 그누보드5 rewrite BEGIN #####
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
 
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} www.yaongdaong.com
RewriteCond %{REQUEST_URI} ^/admin/.*$ [OR]
RewriteCond %{REQUEST_URI} ^/inquiry/.*$
RewriteCond %{REQUEST_URI} !^/assets/.*$
RewriteCond %{REQUEST_URI} !^.*\.(js|css|gif|jpg|png|ico|php|jpeg)$
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
 
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} www.yaongdaong.com
RewriteCond %{REQUEST_URI} !^/admin/.*$
RewriteCond %{REQUEST_URI} !^/inquiry/.*$
RewriteCond %{REQUEST_URI} !^/assets/.*$
RewriteCond %{REQUEST_URI} !^.*\.(js|css|gif|jpg|png|ico|php|jpeg)$
RewriteRule ^.*$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

 

npay_product_info
npay_callback

 

를 제외하는 방법부터 

 


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !/npay_product_info/ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
 
# force http:// for selected URLs
RewriteCond %{HTTPS} on
RewriteCond %{THE_REQUEST} /npay_product_info/ [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

 

모두 해보았지만...눈물이 앞을 가리네요.

사이트를 제작하며 느끼는거지만 html,css,js 할줄 안다고 해서 수월하게 만들 수 있지 않다는 것을 만들면 만들수록 느끼고 있습니다ㅜㅜ

고수님들이 보시기엔 별 거 아닌 문제겠지만 미숙한 제 실력으로 도움 청해봅니다...

어떻게 해결해야 할까요...?

이 질문에 댓글 쓰기 :

답변 5

xml 구성시에 상품 URL 을 http://이미지주소 형태로 보내시는거 같습니다

 

redirect 시키지 말라는 얘기는 

 

xml 구성하실때 이미지 주소를 

https://이미지주소

 

형태로 보내시면 될듯 합니다

 

답변 감사합니다. 네이버측에서 저에게 보내준 답변에는 https 를 사용하면 접근을 할 수 없으니 애초에 이미지를 가져올 때부터 http에서 https로 변하지 않는 것을 원하고 있습니다 ㅜㅜ 허나 지금 https 강제 리다이렉트를 사용하고 있으니 네이버와 관련된 파일,이미지 등을 리다이렉트에서 예외시키는 것이 가장 적당할 것 같습니다 ㅠㅠ 부족한 설명에 답변해주셔서 정말 감사합니다

흠.. 이틀전에 검수 통과했는데 

상품xml 의 image 주소를

https 로 해서 통과했거든요 ?

 

네이버 측에 다시한번 물어보세요 

 

https <= 형태로 이미지 주소를 주면 안되는건지 

 

 

안녕하세요! 퇴근 후에 열심히 달려 다시 확인했습니다. 우선 말씀해주신대로 네이버 검수담당자에게 해당사항으로 문의를 넣었습니다. 그런데 저 또한 검수요청을 할 때 xml url을 https://yaongdaong.com/shop/naverpay/naverpay_item.php 로 줬는데...이미지 주소를 https로 바꾸는 방법이 혹시 따로 있을까요?

해당 문의글을 확인해보니 php파일에서 강제로 변경을 하라는 뜻인거 같은데 이 부분을 어떻게 수정해야할까요..?


function get_naverpay_item_image_url($it_id)
{
    global $g5;
    $row = get_shop_item($it_id, true);
    if(!$row['it_id'])
        return '';
    $url = '';
    for($i=1;$i<=10; $i++) {
        $file = G5_DATA_PATH.'/item/'.$row['it_img'.$i];
        if(is_file($file) && $row['it_img'.$i]) {
            $size = @getimagesize($file);
            if($size[2] < 1 || $size[2] > 3)
                continue;
            $url = str_replace(G5_PATH, G5_URL, $file);
            if( isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) ){
                $url = preg_replace('#^https:#', '', $url);
                
                $port_str = ':'.$_SERVER['SERVER_PORT'];
                
                if( strpos($url, $port_str) !== false ){
                    $url = str_replace($port_str, '', $url);
                }
            }
            
            //TLS(SSL/HTTPS) 프로토콜 사용 시 네이버페이/네이버 쇼핑 서버가 해당 경로로 접근하여 데이터를 취득할 수 없으므로, 반드시 http 를 사용해야 함
            $url = (preg_match('#^http(s):#', $url) ? $url : str_replace('https:', 'http:', $url));
            break;
        }
    }
    return $url;
}
답변을 작성하시기 전에 로그인 해주세요.
전체 227
QA 내용 검색

회원로그인

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