.htaccess를 수정해서 URL 리다이렉트(Redirect) 처리하기

안녕하세요.

이번에 소개할 내용은 .htaccess를 수정해서 URL 리다이렉트 처리하기 입니다.

사이트를 운영을 하시다 보면 특정 URL로 접속을 하거나 할경우 다른페이지로 이동을 시키고 싶은경우

아니면 웹서버를 호스팅서버로 이용을 하고 있어서 Apache 또는 Nginx서버를 직접 수정할수 없는 경우

그럴경우를 위해서 각 사이트별로 간단하게 리다이렉트 처리를 할수있는 방법을 알려드리도록 하겠습니다.

.htaccess를 수정해서 URL 리다이렉트 처리를 위해선

기본적으로 각 웹서버에서 도메인이 연결된 홈디렉토리의 root디렉토리에

.htaccess파일이 없을경우 추가해 주시기 바랍니다.

1
2
3
4
www.test.com URL로 접속할경우 www.playneko.com으로 리다이렉트처리
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.test\.com)
RewriteRule (.*) http://www.playneko.com/$1 [L]
1
2
3
4
www.test.com또는 test.com URL로 접속할경우 www.playneko.com으로 리다이렉트처리
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.test\.com|test\.com)
RewriteRule (.*) http://www.playneko.com/$1 [L]
1
2
3
4
test.com에 www가 없을경우 www를 붙이게끔 하기
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(test\.com)
RewriteRule (.*) http://www.test.com/$1 [L]
1
2
3
4
test.com을 test.com/xxx로 확장 변경하기
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(test\.com|www\.test\.com)
RewriteRule (.*) /xxx/$1 [L]
1
2
3
4
5
6
7
8
9
10
11
12
13
test.com/xxx로 접속한 하위 주소까지 playneko.com로 리다이렉트 처리(영구이동)
# test.com/xxx/ 하위 폴더안에 .htaccess파일을 추가 합니다.
RewriteEngine On
RewriteRule (.*) http://www.playneko.com/$1 [R=301,L]

다른방법으로는 아래와 같습니다.
# test.com/ 하위 폴더안에 .htaccess파일을 추가 합니다.
RewriteEngine On
RewriteRule ^xxx/(.*) http://www.playneko.com/$1 [R=301,L]

# R=301은 해당 도메인으로 영구적으로 리다이렉트를 나타내며
# 이럴경우 도메인이 변경되었을때도 검색봇들이 변경을 인지하고
# 기존 도메인에서 새로운 도메인으로 갱신을 하게 됩니다.
1
2
3
4
5
6
7
8
9
test.com을 포함하는 서브도메인을 포함한 URL의 경우 playneko.com으로 접속
RewriteEngine On
RewriteCond %{HTTP_HOST} test\.com
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.test\.com(.*) http://$1.playneko.com/$2 [L]
RewriteRule ^test\.com(.*) http://playneko.com/$1 [L]

#해당 라인에서 끝이란 표현으로 [L]을 추가 합니다.
#그리고 그 이후 나오는 모든 구문은 무시하는 형식 (break;)와 동일합니다.