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");

 

 

 

|

댓글 12개

잘사용하겠습니다
https <----- 이것도 같이 되는 방법은 없나요^^
@미키손 ::무슨 말씀인가요?
http 없애기와 https 붙이기

http://sir.kr 접속시
https://sir.kr 접속이 되게 추가 하면 좋을 것 같아서
이야기 한 겁니다
@미키손 이건 이미 있는 기능일텐데요
@미키손 :: 아 그건 간단하게 아래처럼

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]

단, 무료인증서 받을 때는 잠시 주석처리하고 받으시면... 아마 위의 로직도 마찬가지일 듯...
균이님 xpem님 친절한 답변 감사합니다
덕분에 많은 도움이 되었습니다^^
잘사용하겠습니다
적용해봤더니 토큰에러를 일으키네요. 클라우드플레어와 서버설정에 따라서 충돌이 날 수도 있는 것 같아요.
사이트그라운드에 세팅된 사이트에도 토큰에러가 발생합니다..
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

+
제목 글쓴이 날짜 조회
4년 전 조회 4,617
4년 전 조회 3,961
4년 전 조회 4,751
4년 전 조회 5,969
4년 전 조회 2,928
4년 전 조회 5,376
4년 전 조회 6,178
4년 전 조회 3,987
4년 전 조회 6,513
4년 전 조회 3,362
4년 전 조회 3,872
4년 전 조회 5,811
4년 전 조회 4,064
4년 전 조회 3,276
4년 전 조회 6,483
4년 전 조회 5,317
4년 전 조회 3,529
4년 전 조회 1.3만
5년 전 조회 4,959
5년 전 조회 3,688
5년 전 조회 3,903
5년 전 조회 5,540
5년 전 조회 3,175
5년 전 조회 4,479
5년 전 조회 4,047
5년 전 조회 4,450
5년 전 조회 6,715
5년 전 조회 2,993
5년 전 조회 5,020
5년 전 조회 5,760