- 클라우드플레어 에서 auto URL Redirect 설정

 

//-------------------------------------
    - 상황
host1.example.com 주소를 example.com으로 자동 주소 변경하려는 상황

 

 

//-------------------------------------
    - 설정

https://dash.cloudflare.com/
        도메인 선택

 

//-------------------------------------
    -> DNS  -> 레코드 추가
형식 : CNAME
이름 : host1
대상 : example.com

        -> 저장

//-------------------------------------
    -> 규칙 -> Page Rules -> Page Rule 생성
        - 3개까지 무료, 초과 사용은 유료 : 월 $5

URL : host1.example.com/*
설정 선택 : 전달 URL , 상태 코드 선택 : 301 - 영구 리디렉션
대상 URL 입력 : https://example.com/$1
    -> Page Rule 저장및 배포 선택

 

//-----------------------------------------------------------------------------
// 참고
https://support.cloudflare.com/hc/en-us/articles/4729826525965-Configuring-URL-forwarding-or-redirects-with-Page-Rules


//-----------------------------------------------------------------------------

// 참고만
// 오라클 무료 웹서버 사용시 index.php 소스 코드

<?php

function getUrl()
{
    $s = $_SERVER;
    $use_forwarded_host = true;

    $ssl = (!empty($s['HTTPS']) && $s['HTTPS'] == 'on');
    $sp = strtolower($s['SERVER_PROTOCOL']);
    $protocol = substr($sp, 0, strpos($sp, '/')) . (($ssl) ? 's' : '');
    $port = $s['SERVER_PORT'];
    $port = ((!$ssl && $port == '80') || ($ssl && $port == '443')) ? '' : ':' . $port;
    $host = ($use_forwarded_host && isset($s['HTTP_X_FORWARDED_HOST'])) ? $s['HTTP_X_FORWARDED_HOST'] : (isset($s['HTTP_HOST']) ? $s['HTTP_HOST'] : null);
    $host = isset($host) ? $host : $s['SERVER_NAME'] . $port;
    return $protocol . '://' . $host . $s['REQUEST_URI'];
}

$url = getUrl();
$path = parse_url($url, PHP_URL_PATH);
$query = parse_url($url, PHP_URL_QUERY);

$blog = 'https://example.com'; 
$redir = sprintf('%s%s%s', $blog, $path, $query ? "?$query" : '');

header("Location: $redir"); //빈칸 중요




 

 

반응형
Posted by codens