ssl 인증서 설치 후 https적용 redirect문제
본문
안녕하세요.
그누보드4(영카트) 사이트에 SSL인증서 설치 후 config.php통해서 https 적용하였는데
pc에서는 잘 되는거 같은데
모바일에서 무한리다이렉트에 걸려서 적용이 힘드네요.
빨간부분을 고쳐야 할까 싶어서 고쳐보면
http://도메인/m/m/ 형식의 주소로 가져 오류나고....
어디 부분을 어떻게 고쳐야 될까요? ㅠㅠ
증상1. https 설정시 pc (https설정됨), 모바일 (무한 redirect)
증상2. http 설정시 pc (http설정됨), 모바일 (http설정됨)
원하는내용
->https 설정시 pc (https설정됨) 모바일 (https설정됨) 무한redirect안되게
소스입니다.
<?php
define("MOBILE_DIR", "/m"); // 모바일 디렉토리.
// 디바이스가 어떤종류인지..
function mobileCheck() {
$checkCount = 0;
if (preg_match('/(iphone|lgtelecom|skt|mobile|samsung|nokia|blackberry|android|android|sony|phone|symbian)/i', strtolower($_SERVER['HTTP_USER_AGENT'])))
$checkCount++;
if (strpos(strtolower($_SERVER['ALL_HTTP']), 'operamini') > 0)
$checkCount++;
if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows') > 0)
$checkCount = 0;
return ($checkCount > 0) ? "mobile" : "pc";
}
// 현재 위치한 페이지가 모바일인지 아닌지..
function mobilePosition() {
global $g4;
if (preg_match("`^".$g4['url'].MOBILE_DIR."`i", "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])))
return true;
else
return false;
}
$is_mobile = false;
if ($_GET["vtype"]=="pc")
$is_mobile = false;
else if ($_GET["vtype"]=="m")
$is_mobile = true;
else if (isset($_SESSION['vtype'])) {
if (mobilePosition()) // 만약 모바일페이지에 위치하고 있을경우.
$is_mobile = true;
else
$is_mobile = $_SESSION['vtype'];
}
else if (mobileCheck()=="mobile")
$is_mobile = true;
set_session("vtype", $is_mobile);
if ($is_mobile) {
// 접속한 URL이 모바일페이지인지 PC페이지인지 확인.
if (!mobilePosition()) {
// 모바일 페이지가 아니라면 모바일디렉토리를 붙여서 페이지 이동.
$arr_site_sub_dir = explode($_SERVER['HTTP_HOST'], $g4['url']);
if (count($arr_site_sub_dir)>1) {
$site_sub_dir = $arr_site_sub_dir[1];
}
$redirect_url = $g4['url'].MOBILE_DIR.str_replace($site_sub_dir,"",$_SERVER['REQUEST_URI']).($_SERVER['QUERY_STRING']?"&":"?")."vtype=m";
if ($redirect_url) {
goto_url($redirect_url);
}
}
}
?>
답변 1
아파치 서버에서 리와이트로 적용된게있나요? 모바일 주소를 m 디렉토리로 이동되게하는부분!!
없으면 php에서는 아무 이상 없을텐데여.. 아파치 리와이트로 함 해보세여 이게 제일 빠를건데..