균

www로 들어오는 접속에서 www 없애기 또는 반대로 www 붙이기

· 2021-02-20 (토) 11:07:37 · 8820 · 12

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 접속이 되게 추가 하면 좋을 것 같아서
이야기 한 겁니다
2021-02-20 (토) 23:26:33
@미키손 이건 이미 있는 기능일텐데요
@미키손 :: 아 그건 간단하게 아래처럼

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 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
21-04-01 조회 6,705
21-03-27 조회 7,289
21-03-16 조회 6,496
21-03-16 조회 7,141
21-03-15 조회 8,443
21-03-10 조회 5,315
21-03-09 조회 7,846
21-03-09 조회 8,673
21-03-08 조회 6,302
21-03-08 조회 9,129
21-03-07 조회 5,636
21-03-05 조회 6,268
21-03-04 조회 8,342
21-02-26 조회 6,344
21-02-24 조회 5,496
21-02-20 조회 8,821
21-02-16 조회 7,884
21-02-16 조회 5,886
21-02-14 조회 1.6만
21-02-11 조회 7,311
21-02-03 조회 5,947
21-02-01 조회 6,117
21-01-31 조회 7,978
21-01-30 조회 5,542
21-01-29 조회 6,890
21-01-29 조회 6,428
21-01-28 조회 6,863
21-01-28 조회 9,280
21-01-26 조회 5,296
21-01-26 조회 7,371