내 테스트서버에서 두개이상의 도메인을 물릴때는 설정을 아파치에서 ServerAlias로 추가해주는데

이때 $_SERVER['SERVER_NAME'] 과 $_SERVER['HTTP_HOST'] 값은 전부 접속하는 현재의 도메인으로 나온다.

하지만 카페24에서 여러 도메인을 물리면 묘하게도 $_SERVER['SERVER_NAME'] 값이 메인도메인으로 나온다.


php 설정에서 세션의 기본값은 쿠키사용이다.

그누보드의 config.php에서 쿠키도메인을 상황에 따라 입력할 수 있도록 해놨지만 매번 귀찮으니

$_SERVER['SERVER_NAME'] 값에서 앞에 www.만 뺀 도메인값 앞에 . 을 넣어서 www 여부와 관계없이 세션공유를 하게끔 해놨었다.

$_SERVER['HTTP_HOST'] 값은 SSL접속등 포트번호가 80이 아니어서 따로 붙는 경우 그 값까지 가져오기때문에 $_SERVER['SERVER_NAME'] 을 사용했던 것이다.


$g4['cookie_domain2'] = preg_replace('/^www\./i','',$_SERVER['SERVER_NAME']);

$g4['cookie_domain'] = '.'.$g4['cookie_domain2'];

그랬더니 앞서 말한 카페24의 상황에서는 메인도메인 외에는 로그인 및 세션이 문제가 생긴다.

해서 쿠키도메인 값을 $_SERVER['SERVER_NAME'] 에서 $_SERVER['HTTP_HOST'] 로 변경시켰다.


$tmp = explode(':',$_SERVER['HTTP_HOST']);
$g4['cookie_domain2'] = preg_replace('/^www\./i','',$tmp[0]);
$g4['cookie_domain'] = '.'.$g4['cookie_domain2'];

이렇게 해서 도메인이 어떤걸로 연결되던간에 세션(쿠키)문제는 해결됐다.

다만 도메인간 쿠키/세션 공유는 없다! 그걸 왜해! 안해!  -ㄴ-;


블로그 이미지

먼지손

,