http:// 도메인에 www 를 무조건 넣거나 빼기 & https:// 로 이동하기 (포워딩) > 기술자료

본문 바로가기

사이트 내 전체검색

http:// 도메인에 www 를 무조건 넣거나 빼기 & https:// 로 이동하기 (포워딩) > 기술자료

PHP http:// 도메인에 www 를 무조건 넣거나 빼기 & https:// 로 이동하기 (포워딩)

페이지 정보


본문

header 를 이용하는 방식과 javascript 를 이용하는 방법을 안내합니다.
방식은 PHP 페이지 최상단에서 위치해야 정상 작동하며, 강력하게 작동합니다.
javascript는 페이지 상단이 아니어도 작동하지만, javascript를 제한한 경우에 작동하지 않습니다.


www 붙이기 ↔ www 제거하기
https://www.happyjung.com/lecture/102



1. https 로 이동하면서 www 추가하고 싶을때

<?php
// https 로 이동하면 www 추가 이동하기
$base_URL = "";
if (!preg_match('/www/', $_SERVER['SERVER_NAME']) == true) { // www 없을때
    if($_SERVER['HTTPS'] != "on"){
        $ssl_port = "";  //  443 포트를 사용하지 않는경우에 이용할 포트번호 입력
        if ($ssl_port == "") { 
            $base_URL = "https://www.".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        } else {
            $base_URL = "https://www.".$_SERVER['HTTP_HOST'].":".$ssl_port.$_SERVER['REQUEST_URI'];
        }
    
        // php 문서 최상단에 위치해야 정상 작동
        //header("Location: ".$base_URL);
        
        echo "<script>\n";
        echo "location.href = '". $base_URL ."';\n";  // 현재창으로 전송
        //echo "parent.location.href='". $base_URL ."';\n";  // 부모창으로 전송
        echo "</script>\n";
    }
} else { // www 있을때
    if($_SERVER['HTTPS'] != "on"){
        $ssl_port = "";  //  443 포트를 사용하지 않는경우에 이용할 포트번호 입력
        if ($ssl_port == "") { 
            $base_URL = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        } else {
            $base_URL = "https://".$_SERVER['HTTP_HOST'].":".$ssl_port.$_SERVER['REQUEST_URI'];
        }
        
        // php 문서 최상단에 위치해야 정상 작동
        //header("Location: ".$base_URL);
        
        echo "<script>\n";
        echo "location.href = '". $base_URL ."';\n";  // 현재창으로 전송
        //echo "parent.location.href='". $base_URL ."';\n";  // 부모창으로 전송
        echo "</script>\n";
    }
}
//echo "https 로 이동하면 www 추가 이동하기<br>";
//echo $base_URL ."<br><br>";
?>



2. https 로 이동하면서 www 제거하고 싶을때

<?php
// https 로 이동하면 www 제거하기
$base_URL = "";
if (!preg_match('/www/', $_SERVER['SERVER_NAME']) == true) { // www 없을때
    if($_SERVER['HTTPS'] != "on"){
        $ssl_port = "";  //  443 포트를 사용하지 않는경우에 이용할 포트번호 입력
        if ($ssl_port == "") { 
            $base_URL = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        } else {
            $base_URL = "https://".$_SERVER['HTTP_HOST'].":".$ssl_port.$_SERVER['REQUEST_URI'];
        }
    
        //header("Location: ".$base_URL);
        
        echo "<script>\n";
        echo "location.href = '". $base_URL ."';\n";  // 현재창으로 전송
        //echo "parent.location.href='". $base_URL ."';\n";  // 부모창으로 전송
        echo "</script>\n";
    }
} else { // www 있을때
    if($_SERVER['HTTPS'] != "on"){
        $ssl_port = "";  //  443 포트를 사용하지 않는경우에 이용할 포트번호 입력
        if ($ssl_port == "") { 
            $base_URL = "https://".str_replace("www.","",$_SERVER['HTTP_HOST']).$_SERVER['REQUEST_URI'];
        } else {
            $base_URL = "https://".str_replace("www.","",$_SERVER['HTTP_HOST']).":".$ssl_port.$_SERVER['REQUEST_URI'];
        }
    
        // php 문서 최상단에 위치해야 정상 작동
        //header("Location: ".$base_URL);
        
        echo "<script>\n";
        echo "location.href = '". $base_URL ."';\n";  // 현재창으로 전송
        //echo "parent.location.href='". $base_URL ."';\n";  // 부모창으로 전송
        echo "</script>\n";
    }
}
//echo "https 로 이동하면 www 제거하기<br>";
//echo $base_URL ."<br><br>";
?>



3. .htaccess 파일을 이용해서 적용할때
.htaccsess 생성해서 호스팅 계정 최상단에 업로드합니다.
위 1 또는 2를 적용해서 정상 작동할때는 이것을 적용할 필요 없습니다.

3-1. 433 포트를 사용할 수 없을때
RewriteEngine On 
# force ssl 
RewriteCond    %{SERVER_PORT} ^80$ 
RewriteRule    ^(.*)$ https://%{SERVER_NAME}:포트번호%{REQUEST_URI} [L,R]


3-2. 433 포트를 사용할때
RewriteEngine On 
# force ssl 
RewriteCond    %{SERVER_PORT} ^80$ 
RewriteRule    ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]


참고자료
http://jobdahan.net/language_php/1435795 
https://sir.kr/qa/245731

댓글목록

등록된 댓글이 없습니다.


Total 198건 10 페이지
  • RSS
기술자료 목록
18
ClassicASP   41483  2007-08-17 22:13 ~ 2013-10-13 00:00  
17
ClassicASP   13501  2007-08-13 21:12 ~ 2014-01-13 00:00  
16
ClassicASP   12104  2007-07-20 19:41 ~ 2016-09-11 00:00  
15
ClassicASP   14130  2007-07-20 19:04 ~ 2016-08-30 00:00  
14
ClassicASP   20396  2007-07-20 18:45 ~ 2018-06-19 23:34  
13
ClassicASP   13647  2007-03-28 21:49 ~ 2013-12-28 00:00  
12
ClassicASP   37590  2007-03-21 23:15 ~ 2012-05-11 00:00  
11
ClassicASP   15159  2007-01-19 01:09 ~ 2014-09-09 00:00  
10
ClassicASP   18965  2007-01-19 00:00 ~ 2012-05-17 00:00  
9
ClassicASP   14609  2006-10-26 00:42 ~ 2016-08-30 00:00  
8
ClassicASP   16450  2006-08-08 03:59 ~ 2020-01-16 18:42  
7
ClassicASP   27582  2006-06-26 10:13  
6
ClassicASP   39438  2006-06-19 21:33  
5
ClassicASP   13830  2006-06-19 19:12 ~ 2016-03-25 00:00  
4
ClassicASP   15950  2006-06-15 17:37 ~ 2021-10-15 01:09  
3
ClassicASP   28106  2006-06-14 12:33 ~ 2009-01-04 00:00  
2
ClassicASP   37909  2006-06-08 19:41  
1
ClassicASP   15528  2006-05-18 16:22 ~ 2013-05-03 00:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2026 해피정닷컴. All Rights Reserved.