_SERVER['HTTP_HOST']의 값이 관지라 모드를 클릭하면 변경됩니다
본문
.htaccess를 사용하여 하나의 cafe24 호스팅에 몇개의 사이트를 만들고자 합니다
세션 공유 설정은 config.php로 해 두었습니다
예를들어
test.com이라는 도메인으로 접근하면 문제 없이 잘 동작 합니다
하지만 관리자 모드를 들어가려고 하면
로그인을 해야 한다고 하며 에러를 출력 합니다
디버깅을 해 보니
_SERVER['HTTP_HOST']의 값이 test.com에서 대표 도메인 계정과 폴더명이 나옵니다
이는 _SERVER['SERVER_NAME']의 값과 동일합니다
값을 변경 해 보고자 $host에 직접 값을 넣어도 이상하게 변경이 되지 않더군요
이런 경우 어떻게 해야 하는지 알고 싶습니다
디버깅 예시를 첨부합니다
test.com으로 접근하는 경우
string(134) "_SERVER['HTTP_HOST'] : test.com
_SERVER['SERVER_NAME'] :gozila1.cafe24.com
host : test.com
result['url'] : http://test.com"
관리자 모드를 클릭한 경우
string(161) "_SERVER['HTTP_HOST'] : gozila1.cafe24.com
_SERVER['SERVER_NAME'] :gozila1.cafe24.com
host : gozila1.cafe24.com
result['url'] : http://gozila1.cafe24.com"
에러 출력의 위치는
// 접근 권한 검사
if (!$member['mb_id'])
위의 예외처리에서 발생이 되며 해당 값은 아무 것도 없는 것으로 나옵니다
예상되는 것은 도메인이 변경되어 권한 값을 가져오지 못하는 것 같습니다
세션 공유 설정은 config.php로 해 두었습니다
답변 2
G5_DOMAIN, G5_HTTPS_DOMAIN 설정은 비워두신 상태인거죠?
카페24의 경우 폴더로 접근시 url 뒤에 / 이게 안붙을때는 자동으로 메인도메인으로 설정된 곳으로 이동합니다.
gozila1.cafe24.com이 메인도메인이면 test.com/adm 으로 접속할때 gozila1.cafe24.com/adm/ 으로 이동됩니다.
묘하게도 test.com/adm/ 으로 접속하면 잘 되더군요.
링크가 파일이 아닌 디렉토리인 경우는 링크 뒤에 / 붙여보세요..
타 도메인간 세션공유는.. 어려울겁니다.
세션공유하는데 메인도메인이 같으셔야죠... 그게 아닌 다른 도메인으로 공유하는건 sso에요.
그리고 http_host는 헤더가 있으면 변경될수있고요 server_name은 서버설정이에요.
다른값이 나오는건 상관 없는거에요.
그리고 세션공유설정 셋쿠키도메인으로 하셨을텐데 거기 입력할때 메인도메인만 입력하실텐데 지금 하시는건 test.com과 gozila1.cafe24.com의 메인 도메인이 달라서 공유가 안되어야하는게 맞구요...