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,597
4년 전 조회 3,941
4년 전 조회 4,732
4년 전 조회 5,949
4년 전 조회 2,911
4년 전 조회 5,352
4년 전 조회 6,150
4년 전 조회 3,967
4년 전 조회 6,477
4년 전 조회 3,348
4년 전 조회 3,859
4년 전 조회 5,745
4년 전 조회 4,045
4년 전 조회 3,259
4년 전 조회 6,460
4년 전 조회 5,292
4년 전 조회 3,514
4년 전 조회 1.3만
4년 전 조회 4,938
5년 전 조회 3,664
5년 전 조회 3,882
5년 전 조회 5,518
5년 전 조회 3,162
5년 전 조회 4,462
5년 전 조회 4,021
5년 전 조회 4,426
5년 전 조회 6,697
5년 전 조회 2,977
5년 전 조회 5,000
5년 전 조회 5,738