반응형

www가 없는 도메인으로 접속을 했을 때 www.domain.com으로 URL을 변경하는 방법입니다.  

.htaccess를 이용하여 URL에 www 붙이기

 

.htaccess 설정 방법

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www\.domain\.com/$1 [L,R]
</IfModule>

.htaccess을 이용하는 방법은 처음 적용을 할 때는 바로 실행이 되지만 삭제 후에는 바로 적용이 되지 않는 단점이 있습니다.

이 때는 브라우저의 캐시를 삭제 후 확인을 하면 적용이 되는 것을 확인할 수 있습니다.

 

서버 설정 외에도 서버 프로그램 PHP, 클라이언트 프로그램 JavaScript로도 처리를 할 수 있습니다.

자바스크립트 처리 방법

<script language="JavaScript" type="text/javascript">
	var host = location.host.toLowerCase();
	var curAddr = location.href;
	if (host.indexOf("www") == -1)
	{
		curAddr = curAddr.replace("//","//www.");
		location.href = curAddr;
	}
</script>

 

PHP 처리 방법

if ( $_SERVER['HTTP_HOST'] == 'domain.com' )
{
  goto_url('https://www.domain.com');
  exit;
}

function goto_url($url)
{
    $url = str_replace("&", "&", $url);
    echo "<script> location.replace('$url'); </script>";

    if (!headers_sent())
        header('Location: '.$url);
    else {
        echo '<script>';
        echo 'location.replace("'.$url.'");';
        echo '</script>';
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
        echo '</noscript>';
    }
    exit;
}

 

.htaccess를 이용하여 301 리다이렉트하기 - mod_rewrite 이용

사이트를 운영하다 보면 별도의 디렉토리를 이용하여 서브 도메인을 구성한 후 해당 디렉토리로 접근 시 서브 도메인으로 리다이렉트(Redirect, 이동)해야 할 때가 있습니다. 이 때는 해당 디렉토�

han288.tistory.com

 

반응형

+ Recent posts