2013-10-18 3 views
0

내 PHP 세션에 약간의 문제가 있습니다. http://www.domain.com에 로그인했을 때 작동하지만, http://www. 부분을 제거하면 다시 로그인해야합니다.PHP 세션 데이터가 http없이 사라짐

php.ini에서 변경해야 할 사항이 있습니까? http://www.이 (가) 로그인되어있을 수 있습니까?

+0

www가 하위 도메인처럼 동작하므로 'www.domain.com'과 'domain.com'사이에 기술적으로 차이가 있습니다. –

+1

.htaccess 파일을 사용하여 사용자를 하나의 도메인 또는 다른 도메인으로 리디렉션합니다. – cmorrissey

답변

0

쿠키가 www.domain.com에 설정되어 로그인 한 후 domain.com에서 액세스하려고하기 때문에. 브라우저가이를 막을 것입니다.

.domain.com을 5 매개 변수 setcookie()으로 설정하여 하위 도메인에 액세스 할 수 있도록 쿠키를 선언해야합니다.

+0

session_set_cookie_params (0, '/', '.domain.com');를 추가했습니다. 그러나 슬프게도 그것은 일을 didnt한다. 세션을 2 개의 URL에서 실행하는 방법이 있습니까? – Codemunkie

+0

@Codemunkie 세션을 시작하기 전에 설정 했습니까? –

+0

예, session_start() 이전의 맨 위에있었습니다. – Codemunkie

0

php ini 변수를 확인해야 할 수도 있습니다 : session.cookie_domain, 전체 도메인에서만 작동하도록 설정되었을 수 있으므로 하위 도메인에서만 설정하십시오.

+0

그리고 http : // stackoverflow도 확인하십시오. co.kr/questions/5244497/sessions-and-subdomains/5244838 # 5244838 –

0

이 같은 (아마 없을 최고의 솔루션을하지만 작업 수행)을 수행 한 그래서 www를 제거 htaccess로

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

합니다. 도메인에서 http로 리디렉션합니다. :)

모든 도움을 주셔서 감사합니다.