모바일에서 모바일 홈페이지로 변환이 안되네요.
모바일에서 모바일 홈페이지로 변환이 안되고 계속 PC홈페이지로 보이고 있는데 common 파일이 잘못된걸까요? config 파일이 잘못된걸까요...?
/////////////////////////////////common.php////////////////////////////////////////
// 보안설정이나 프레임이 달라도 쿠키가 통하도록 설정 header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"');
if (!defined('G5_SET_TIME_LIMIT')) define('G5_SET_TIME_LIMIT', 0); @set_time_limit(G5_SET_TIME_LIMIT);
//========================================================================================================================== // extract($_GET); 명령으로 인해 page.php?_POST[var1]=data1&_POST[var2]=data2 와 같은 코드가 _POST 변수로 사용되는 것을 막음 // 081029 : letsgolee 님께서 도움 주셨습니다. //-------------------------------------------------------------------------------------------------------------------------- $ext_arr = array ('PHP_SELF', '_ENV', '_GET', '_POST', '_FILES', '_SERVER', '_COOKIE', '_SESSION', '_REQUEST', 'HTTP_ENV_VARS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS', 'HTTP_COOKIE_VARS', 'HTTP_SESSION_VARS', 'GLOBALS'); $ext_cnt = count($ext_arr); for ($i=0; $i<$ext_cnt; $i++) { // POST, GET 으로 선언된 전역변수가 있다면 unset() 시킴 if (isset($_GET[$ext_arr[$i]])) unset($_GET[$ext_arr[$i]]); if (isset($_POST[$ext_arr[$i]])) unset($_POST[$ext_arr[$i]]); } //==========================================================================================================================
function g5_path() { $chroot = substr($_SERVER['SCRIPT_FILENAME'], 0, strpos($_SERVER['SCRIPT_FILENAME'], dirname(__FILE__))); $result['path'] = str_replace('\\', '/', $chroot.dirname(__FILE__)); $tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $_SERVER['SCRIPT_NAME']); $document_root = str_replace($tilde_remove, '', $_SERVER['SCRIPT_FILENAME']); $pattern = '/' . preg_quote($document_root, '/') . '/i'; $root = preg_replace($pattern, '', $result['path']); $port = ($_SERVER['SERVER_PORT'] == 80 || $_SERVER['SERVER_PORT'] == 443) ? '' : ':'.$_SERVER['SERVER_PORT']; $http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://'; $user = str_replace(preg_replace($pattern, '', $_SERVER['SCRIPT_FILENAME']), '', $_SERVER['SCRIPT_NAME']); $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']; if(isset($_SERVER['HTTP_HOST']) && preg_match('/:[0-9]+$/', $host)) $host = preg_replace('/:[0-9]+$/', '', $host); $host = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", '', $host); $result['url'] = $http.$host.$port.$user.$root; return $result; }
$g5_path = g5_path();
include_once($g5_path['path'].'/config.php'); // 설정 파일
unset($g5_path);
// multi-dimensional array에 사용자지정 함수적용 function array_map_deep($fn, $array) { if(is_array($array)) { foreach($array as $key => $value) { if(is_array($value)) { $array[$key] = array_map_deep($fn, $value); } else { $array[$key] = call_user_func($fn, $value); } } } else { $array = call_user_func($fn, $array); }
return $array; }
// SQL Injection 대응 문자열 필터링 function sql_escape_string($str) { if(defined('G5_ESCAPE_PATTERN') && defined('G5_ESCAPE_REPLACE')) { $pattern = G5_ESCAPE_PATTERN; $replace = G5_ESCAPE_REPLACE;
if($pattern) $str = preg_replace($pattern, $replace, $str); }
$str = call_user_func('addslashes', $str);
return $str; }
//============================================================================== // SQL Injection 등으로 부터 보호를 위해 sql_escape_string() 적용 //------------------------------------------------------------------------------ // magic_quotes_gpc 에 의한 backslashes 제거 if (get_magic_quotes_gpc()) { $_POST = array_map_deep('stripslashes', $_POST); $_GET = array_map_deep('stripslashes', $_GET); $_COOKIE = array_map_deep('stripslashes', $_COOKIE); $_REQUEST = array_map_deep('stripslashes', $_REQUEST); }
// sql_escape_string 적용 $_POST = array_map_deep(G5_ESCAPE_FUNCTION, $_POST); $_GET = array_map_deep(G5_ESCAPE_FUNCTION, $_GET); $_COOKIE = array_map_deep(G5_ESCAPE_FUNCTION, $_COOKIE); $_REQUEST = array_map_deep(G5_ESCAPE_FUNCTION, $_REQUEST); //==============================================================================
// PHP 4.1.0 부터 지원됨 // php.ini 의 register_globals=off 일 경우 @extract($_GET); @extract($_POST); @extract($_SERVER);
// 완두콩님이 알려주신 보안관련 오류 수정 // $member 에 값을 직접 넘길 수 있음 $config = array(); $member = array(); $board = array(); $group = array(); $g5 = array();
//============================================================================== // 공통 //------------------------------------------------------------------------------ $dbconfig_file = G5_DATA_PATH.'/'.G5_DBCONFIG_FILE; if (file_exists($dbconfig_file)) { include_once($dbconfig_file); include_once(G5_LIB_PATH.'/common.lib.php'); // 공통 라이브러리
$connect_db = sql_connect(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD) or die('MySQL Connect Error!!!'); $select_db = sql_select_db(G5_MYSQL_DB, $connect_db) or die('MySQL DB Error!!!');
// mysql connect resource $g5 배열에 저장 - 명랑폐인님 제안 $g5['connect_db'] = $connect_db;
sql_set_charset('utf8', $connect_db); if(defined('G5_MYSQL_SET_MODE') && G5_MYSQL_SET_MODE) sql_query("SET SESSION sql_mode = ''"); if (defined('G5_TIMEZONE')) sql_query(" set time_zone = '".G5_TIMEZONE."'"); } else { ?>
그누보드5를 먼저 설치해주십시오.
GPL! OPEN SOURCE GNUBOARD
//////////////////////////////////////config.php//////////////////////////////////////////
/******************** 상수 선언 ********************/
define('G5_VERSION', '그누보드5'); define('G5_GNUBOARD_VER', '5.3.1.3');
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음 define('_GNUBOARD_', true);
if (PHP_VERSION >= '5.1.0') { //if (function_exists("date_default_timezone_set")) date_default_timezone_set("Asia/Seoul"); date_default_timezone_set("Asia/Seoul"); }
/******************** 경로 상수 ********************/
/* 보안서버 도메인 회원가입, 글쓰기에 사용되는 https 로 시작되는 주소를 말합니다. 포트가 있다면 도메인 뒤에 :443 과 같이 입력하세요. 보안서버주소가 없다면 공란으로 두시면 되며 보안서버주소 뒤에 / 는 붙이지 않습니다. 입력예) https://www.domain.com:443/gnuboard5 */ define('G5_DOMAIN', ''); define('G5_HTTPS_DOMAIN', '');
/* www.sir.kr 과 sir.kr 도메인은 서로 다른 도메인으로 인식합니다. 쿠키를 공유하려면 .sir.kr 과 같이 입력하세요. 이곳에 입력이 없다면 www 붙은 도메인과 그렇지 않은 도메인은 쿠키를 공유하지 않으므로 로그인이 풀릴 수 있습니다. */ define('G5_COOKIE_DOMAIN', '');
define('G5_DBCONFIG_FILE', 'dbconfig.php');
define('G5_ADMIN_DIR', 'adm'); define('G5_BBS_DIR', 'bbs'); define('G5_CSS_DIR', 'css'); define('G5_DATA_DIR', 'data'); define('G5_EXTEND_DIR', 'extend'); define('G5_IMG_DIR', 'img'); define('G5_JS_DIR', 'js'); define('G5_LIB_DIR', 'lib'); define('G5_PLUGIN_DIR', 'plugin'); define('G5_SKIN_DIR', 'skin'); define('G5_EDITOR_DIR', 'editor'); define('G5_MOBILE_DIR', 'mobile'); define('G5_OKNAME_DIR', 'okname');
define('G5_KCPCERT_DIR', 'kcpcert'); define('G5_LGXPAY_DIR', 'lgxpay');
define('G5_SNS_DIR', 'sns'); define('G5_SYNDI_DIR', 'syndi'); define('G5_PHPMAILER_DIR', 'PHPMailer'); define('G5_SESSION_DIR', 'session'); define('G5_THEME_DIR', 'theme');
// URL 은 브라우저상에서의 경로 (도메인으로 부터의) if (G5_DOMAIN) { define('G5_URL', G5_DOMAIN); } else { if (isset($g5_path['url'])) define('G5_URL', $g5_path['url']); else define('G5_URL', ''); }
if (isset($g5_path['path'])) { define('G5_PATH', $g5_path['path']); } else { define('G5_PATH', ''); }
define('G5_ADMIN_URL', G5_URL.'/'.G5_ADMIN_DIR); define('G5_BBS_URL', G5_URL.'/'.G5_BBS_DIR); define('G5_CSS_URL', G5_URL.'/'.G5_CSS_DIR); define('G5_DATA_URL', G5_URL.'/'.G5_DATA_DIR); define('G5_IMG_URL', G5_URL.'/'.G5_IMG_DIR); define('G5_JS_URL', G5_URL.'/'.G5_JS_DIR); define('G5_SKIN_URL', G5_URL.'/'.G5_SKIN_DIR); define('G5_PLUGIN_URL', G5_URL.'/'.G5_PLUGIN_DIR); define('G5_EDITOR_URL', G5_PLUGIN_URL.'/'.G5_EDITOR_DIR); define('G5_OKNAME_URL', G5_PLUGIN_URL.'/'.G5_OKNAME_DIR); define('G5_KCPCERT_URL', G5_PLUGIN_URL.'/'.G5_KCPCERT_DIR); define('G5_LGXPAY_URL', G5_PLUGIN_URL.'/'.G5_LGXPAY_DIR); define('G5_SNS_URL', G5_PLUGIN_URL.'/'.G5_SNS_DIR); define('G5_SYNDI_URL', G5_PLUGIN_URL.'/'.G5_SYNDI_DIR); define('G5_MOBILE_URL', G5_URL.'/'.G5_MOBILE_DIR);
// PATH 는 서버상에서의 절대경로 define('G5_ADMIN_PATH', G5_PATH.'/'.G5_ADMIN_DIR); define('G5_BBS_PATH', G5_PATH.'/'.G5_BBS_DIR); define('G5_DATA_PATH', G5_PATH.'/'.G5_DATA_DIR); define('G5_EXTEND_PATH', G5_PATH.'/'.G5_EXTEND_DIR); define('G5_LIB_PATH', G5_PATH.'/'.G5_LIB_DIR); define('G5_PLUGIN_PATH', G5_PATH.'/'.G5_PLUGIN_DIR); define('G5_SKIN_PATH', G5_PATH.'/'.G5_SKIN_DIR); define('G5_MOBILE_PATH', G5_PATH.'/'.G5_MOBILE_DIR); define('G5_SESSION_PATH', G5_DATA_PATH.'/'.G5_SESSION_DIR); define('G5_EDITOR_PATH', G5_PLUGIN_PATH.'/'.G5_EDITOR_DIR); define('G5_OKNAME_PATH', G5_PLUGIN_PATH.'/'.G5_OKNAME_DIR);
define('G5_KCPCERT_PATH', G5_PLUGIN_PATH.'/'.G5_KCPCERT_DIR); define('G5_LGXPAY_PATH', G5_PLUGIN_PATH.'/'.G5_LGXPAY_DIR);
define('G5_SNS_PATH', G5_PLUGIN_PATH.'/'.G5_SNS_DIR); define('G5_SYNDI_PATH', G5_PLUGIN_PATH.'/'.G5_SYNDI_DIR); define('G5_PHPMAILER_PATH', G5_PLUGIN_PATH.'/'.G5_PHPMAILER_DIR); //==============================================================================
//============================================================================== // 사용기기 설정 // pc 설정 시 모바일 기기에서도 PC화면 보여짐 // mobile 설정 시 PC에서도 모바일화면 보여짐 // both 설정 시 접속 기기에 따른 화면 보여짐 //------------------------------------------------------------------------------ define('G5_SET_DEVICE', 'both');
define('G5_USE_MOBILE', true); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정 define('G5_USE_CACHE', true); // 최신글등에 cache 기능 사용 여부
/******************** 시간 상수 ********************/ // 서버의 시간과 실제 사용하는 시간이 틀린 경우 수정하세요. // 하루는 86400 초입니다. 1시간은 3600초 // 6시간이 빠른 경우 time() + (3600 * 6); // 6시간이 느린 경우 time() - (3600 * 6); define('G5_SERVER_TIME', time()); define('G5_TIME_YMDHIS', date('Y-m-d H:i:s', G5_SERVER_TIME)); define('G5_TIME_YMD', substr(G5_TIME_YMDHIS, 0, 10)); define('G5_TIME_HIS', substr(G5_TIME_YMDHIS, 11, 8));
// 입력값 검사 상수 (숫자를 변경하시면 안됩니다.) define('G5_ALPHAUPPER', 1); // 영대문자 define('G5_ALPHALOWER', 2); // 영소문자 define('G5_ALPHABETIC', 4); // 영대,소문자 define('G5_NUMERIC', 8); // 숫자 define('G5_HANGUL', 16); // 한글 define('G5_SPACE', 32); // 공백 define('G5_SPECIAL', 64); // 특수문자
// 퍼미션 define('G5_DIR_PERMISSION', 0755); // 디렉토리 생성시 퍼미션 define('G5_FILE_PERMISSION', 0644); // 파일 생성시 퍼미션
// 모바일 인지 결정 $_SERVER['HTTP_USER_AGENT'] define('G5_MOBILE_AGENT', 'phone|samsung|lgtel|mobile|[^A]skt|nokia|blackberry|BB10|android|sony');
// SMTP // lib/mailer.lib.php 에서 사용 define('G5_SMTP', '127.0.0.1'); define('G5_SMTP_PORT', '25');
/******************** 기타 상수 ********************/
// 암호화 함수 지정 // 사이트 운영 중 설정을 변경하면 로그인이 안되는 등의 문제가 발생합니다. define('G5_STRING_ENCRYPT_FUNCTION', 'sql_password');
// SQL 에러를 표시할 것인지 지정 // 에러를 표시하려면 TRUE 로 변경 define('G5_DISPLAY_SQL_ERROR', FALSE);
// escape string 처리 함수 지정 // addslashes 로 변경 가능 define('G5_ESCAPE_FUNCTION', 'sql_escape_string');
// sql_escape_string 함수에서 사용될 패턴 //define('G5_ESCAPE_PATTERN', '/(and|or).*(union|select|insert|update|delete|from|where|limit|create|drop).*/i'); //define('G5_ESCAPE_REPLACE', '');
// 게시판에서 링크의 기본개수를 말합니다. // 필드를 추가하면 이 숫자를 필드수에 맞게 늘려주십시오. define('G5_LINK_COUNT', 2);
// 썸네일 jpg Quality 설정 define('G5_THUMB_JPG_QUALITY', 90);
// 썸네일 png Compress 설정 define('G5_THUMB_PNG_COMPRESS', 5);
// 모바일 기기에서 DHTML 에디터 사용여부를 설정합니다. define('G5_IS_MOBILE_DHTML_USE', false);
// MySQLi 사용여부를 설정합니다. define('G5_MYSQLI_USE', true);
// Browscap 사용여부를 설정합니다. define('G5_BROWSCAP_USE', true);
// 접속자 기록 때 Browscap 사용여부를 설정합니다. define('G5_VISIT_BROWSCAP_USE', false);
// ip 숨김방법 설정 /* 123.456.789.012 ip의 숨김 방법을 변경하는 방법은 \\1 은 123, \\2는 456, \\3은 789, \\4는 012에 각각 대응되므로 표시되는 부분은 \\1 과 같이 사용하시면 되고 숨길 부분은 ♡등의 다른 문자를 적어주시면 됩니다. */ define('G5_IP_DISPLAY', '\\1.♡.\\3.\\4');
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') { //https 통신일때 daum 주소 js define('G5_POSTCODE_JS', '');" target="_blank" rel="noopener noreferrer">https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js">'); } else { //http 통신일때 daum 주소 js define('G5_POSTCODE_JS', '');" target="_blank" rel="noopener noreferrer">http://dmaps.daum.net/map_js_init/postcode.v2.js">'); } ?>
//////////////////////////////////////////////////////////////////////////////////////////////////////////
답변 3개
config.php 에 문제가없다면
if (G5_IS_MOBILE) { include_once(G5_MOBILE_PATH.'/head.php'); return; }
혹시 헤더나 이런곳 이 코드가?
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
www/config.php 파일에서
//============================================================================== // 사용기기 설정 // pc 설정 시 모바일 기기에서도 PC화면 보여짐 // mobile 설정 시 PC에서도 모바일화면 보여짐 // both 설정 시 접속 기기에 따른 화면 보여짐 //------------------------------------------------------------------------------ define('G5_SET_DEVICE', 'both');
define('G5_USE_MOBILE', true); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정
부분을 확인해보세여
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
원본 테마가 먼저 잘 되는지 테스트 후, 잘 되면 원본 테마와 비교하시고,
원본 테마도 안 되면 테마 바깥쪽 코어 문제이니, 일단 지금 자료 백업 후 최신 그누 받아서 업데이트 먼저 해보세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
require_once(G5_THEME_PATH.'/head.php');
return;
}
if (G5_IS_MOBILE) {
include_once(G5_MOBILE_PATH.'/head.php');
return;
}
head에 이코드가 있긴 한데 문제가 있나요?