PHP 만으로 www 가 붙은 도메인으로 redirect 시키기 - 웹서버의 .htaccess 설정 없이 > 그누보드5 팁자료실

그누보드5 팁자료실

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

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

본문

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

 

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

 

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


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

 

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

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

 

- 2018-12-20 수정

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

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



$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']);
}
추천
13

댓글 14개

좋은 정보 감사합니다.
근데 궁금증이 생기는 군요
 1) htaccess redirect 설정과 이 방법의 차이점이 뭘까요?
 2) 어떤게 더 좋은 방법일까요?
1. htaccess 방식은 아파치 웹서버 차원의 동작이므로, 더 빠르고 효율적일 수 있습니다.
2. htaccess 의 사용이 불가하거나, 사용에 어려움이 있는 경우, 이 방법을 사용할 수 있습니다.
답변 감사합니다.

htaccess 설정은

<ifmodule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{HTTPS} off
  RewriteRule ^(.*)$ https://domain.com/$1 [R=301,L]
</ifmodule>
이렇게 하면 될까요?
전체 2,412 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT