_SERVER['HTTP_HOST']의 값이 관지라 모드를 클릭하면 변경됩니다

_SERVER['HTTP_HOST']의 값이 관지라 모드를 클릭하면 변경됩니다

QA

_SERVER['HTTP_HOST']의 값이 관지라 모드를 클릭하면 변경됩니다

답변 2

본문

.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​의 메인 도메인이 달라서 공유가 안되어야하는게 맞구요...

이해가 안되는 것이 다른 빌더를 사용 했을 때 잘 동작을 하더라구요

원래 굿빌더를 쓰다가 이윰 빌더로 변경해 설치를 하던 중에 발생한 일이거든요

제가 알고 싶었던 일이 빌더의 헤더가 변경될 이유가 어디에 있는지 알고 싶다였네요

http_host가 다른 게시판이나 옵션 등에는 test.com이라는 접근 도메인으로 동작이 문제 없이 잘 동작 하나

관리자 모드에 들어 가는 순간 gozila1.cafe24.com으로 변경이 되는지가 이해가 되지 않아서요

답변을 작성하시기 전에 로그인 해주세요.
전체 2
© SIRSOFT
현재 페이지 제일 처음으로