반응형

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

이 때는 해당 디렉토리에서 .htaccess를 생성 후 아래와 같이 처리를 하게 되면
원하는 대로 페이지가 이동하게 됩니다.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com$1 [L,R=301]
RedirectMatch 301 ^/test/(.*)$ http://test.domain.com/$1

위와 같이 설정을 하였을 때의 결과는
http://www.domain.com/test 로 들어오게 되면 http://test.domain.com/로 바뀌게 됩니다. 

 

.htaccess를 이용하여 301 리다이렉트(Redirect, 이동)하기 - 아파치(Apache) mod_rewrite 이용

RewriteEngine On
RewriteEngine을 사용하는 것을 설정합니다.

HTTP_HOST
URL 에서 호스트 이름 부분이며 클라이언트가 보낸 HTTP 헤더중 Host: 헤더에 있는 값이 됩니다.
가상 호스트 기반 rewrite 규칙을 설정할 경우에 많이 사용됩니다.

NC
대소문자를 구분하지 않습니다.

R=301은 그 주소로 영구 이동하는 것입니다.
R=301로 기재를 하면 도메인 주소를 바꿨을 때에 검색 엔진이, 예전 주소를 바뀐 새 주소로 갱신하여 줍니다.

프로그램으로 리다이렉트를 할 수 있지만 이 경우 단순 페이지 이동이기 때문에 전체 URL변경은 할 수 없습니다.
하지만 .htaccess를 활용하게 되면 하위 주소까지 모두 도메인을 바꿀 수가 있습니다.

반응형

+ Recent posts