www로 들어오는 접속에서 www 없애기 또는 반대로 www 붙이기 정보
www로 들어오는 접속에서 www 없애기 또는 반대로 www 붙이기본문
php로 하는 효율적인 방법이라고 볼 수있는 것은
common.php 첫줄에서 실행하는 것이라 생각됩니다
다른 곳에서 하면 그누보드에서 사용하는 lib화일들을 모두 로드한 후 실행하기 때문에....
http인지 https인지 구분 됩니다
common.php 2행에 넣으세요
=========== www 없애기
if(strpos($_SERVER['HTTP_HOST'],'www.') !==false)
$url = $_SERVER['HTTP_X_FORWARDED_PROTO'].'://'.str_replace('www.','',$_SERVER['HTTP_HOST']).$_SERVER['REQUEST_URI'];
header("Location:$url");
========= www붙이기
if(strpos($_SERVER['HTTP_HOST'],'www.') ===false)
$url = $_SERVER['HTTP_X_FORWARDED_PROTO'].'://www.'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
header("Location:$url");
추천
2
2
댓글 12개
잘사용하겠습니다
https <----- 이것도 같이 되는 방법은 없나요^^
@미키손 ::무슨 말씀인가요?
@미키손 이건 이미 있는 기능일텐데요
@미키손 :: 아 그건 간단하게 아래처럼
if($_SERVER['HTTP_X_FORWARDED_PROTO']=='http') $_SERVER['HTTP_X_FORWARDED_PROTO'] ='https';
이렇게 만들어서 if문 위에 넣으면 됩니다
if($_SERVER['HTTP_X_FORWARDED_PROTO']=='http') $_SERVER['HTTP_X_FORWARDED_PROTO'] ='https';
이렇게 만들어서 if문 위에 넣으면 됩니다
.htaccess 에서도 됩니다 ㅎㅎ
http://www.domain.com/bbs/board.php?wr_id=1 이런식으로 패러미터가 붙어도
자동으로 https://domain.com/bbs/board.php?wr_id=1 이렇게 포워딩 해주지요...
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]
단, 무료인증서 받을 때는 잠시 주석처리하고 받으시면... 아마 위의 로직도 마찬가지일 듯...
http://www.domain.com/bbs/board.php?wr_id=1 이런식으로 패러미터가 붙어도
자동으로 https://domain.com/bbs/board.php?wr_id=1 이렇게 포워딩 해주지요...
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]
단, 무료인증서 받을 때는 잠시 주석처리하고 받으시면... 아마 위의 로직도 마찬가지일 듯...
균이님 xpem님 친절한 답변 감사합니다
덕분에 많은 도움이 되었습니다^^
덕분에 많은 도움이 되었습니다^^
감사합니다.
잘사용하겠습니다
적용해봤더니 토큰에러를 일으키네요. 클라우드플레어와 서버설정에 따라서 충돌이 날 수도 있는 것 같아요.
사이트그라운드에 세팅된 사이트에도 토큰에러가 발생합니다..