테스트 사이트 - 개발 중인 베타 버전입니다

PHP 만으로 www 가 붙은 도메인으로 redirect 시키기 - 웹서버의 .htaccess 설정 없이

· 6년 전 · 10255 · 15

PHP 에서 www 가 붙지 않은 도메인을 www 가 붙은 도메인으로 redirect 시키는 방법입니다. 

 

아파치 등의 웹서버에서 rewrite 기능을 활용하여 제어하는 방법도 있으나, 
여기서는 php 의 리다이렉트 기능만으로 처리하는 방법을 사용합니다. 

 

아래 코드를 자신의 도메인으로 변경하고, 파일을 만들어 extend 폴더에 넣으시면 됩니다. 


예제를 활용하면 A 도메인을 B 도메인으로 redirect 시키는 방법도 가능합니다. 

 

SSL(https) 인 경우와 아닌 경우, 각각 SSL 로 바꾸도록 처리합니다. 

한꺼번에 처리하는 방법도 추가합니다. 

 

- 2018-12-20 수정

stristr 함수를 stripos 함수로 변경합니다. 

참고 : https://sir.kr/cm_free/587180


[code]
$full_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https://" : "http://") . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

 

// https 도메인 redirect 하기
if (stripos($full_url, "https://domain.com") !== false) {
    goto_url("https://www.domain.com" . $_SERVER['REQUEST_URI']);
}
// http 도메인 redirect 하기
if (stripos($full_url, "http://domain.com") !== false) {
    goto_url("https://www.domain.com" . $_SERVER['REQUEST_URI']);
}
// 참고, 위 둘을 한꺼번에 처리하기
if (stripos($full_url, "//domain.com") !== false) {
    goto_url("https://www.domain.com" . $_SERVER['REQUEST_URI']);
}
[/code]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 15개

감사합니다 !!!
오. 이 방법도 스크랩 해놓고 사용해봐야겠네요
감사합니다.
꿀팁 감사합니다~!!
일단 저장을 아니 스크랩을
6년 전
감사합니다
잘 활용해보겠습니다. 감사합니다~
깔끔하게 잘 정리해주셔서 감사드려요~! ^-^
좋은 정보 감사합니다.
좋은 정보 감사합니다.
근데 궁금증이 생기는 군요
1) htaccess redirect 설정과 이 방법의 차이점이 뭘까요?
2) 어떤게 더 좋은 방법일까요?
1. htaccess 방식은 아파치 웹서버 차원의 동작이므로, 더 빠르고 효율적일 수 있습니다.
2. htaccess 의 사용이 불가하거나, 사용에 어려움이 있는 경우, 이 방법을 사용할 수 있습니다.

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168