본문 바로가기

Story/Server

아파치(Apache) mod_rewrite 를 이용한 주소 이동

반응형
www.aaa.com 으로 시작하는 주소만 www.bbb.net 로 보내기
- aaa.com 의 루트 디렉토리에 ".htaccess" 파일을 추가한다.
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.aaa\.com)
RewriteRule (.*) http://www.bbb.net/$1 [L]

www.aaa.com 과 aaa.com 으로 시작하는 주소를 www.bbb.net 로 보내기
- aaa.com 의 루트 디렉토리에 ".htaccess" 파일을 추가한다.
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.aaa\.com|aaa\.com)
RewriteRule (.*) http://www.bbb.net/$1 [L]

aaa.com 을 www.aaa.com 으로 바꾸기
- aaa.com 의 루트 디렉토리에 ".htaccess" 파일을 추가한다.
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(aaa\.com)
RewriteRule (.*) http://www.aaa.com/$1 [L]

aaa.com 을 aaa.com/bbb 로 보내기
- aaa.com 의 루트 디렉토리에 ".htaccess" 파일을 추가한다.
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(aaa\.com|www\.aaa\.com)
RewriteRule (.*) /bbb/$1 [L]

aaa.com/bbb 를 하위 주소까지 ccc.net 로 보내기 (영구 이동)
- aaa.com/bbb/ 디렉토리에 ".htaccess" 파일을 추가한다.
RewriteEngine On

RewriteRule (.*) http://www.ccc.net/$1 [R=301,L]

또는
- aaa.com 의 루트 디렉토리에 ".htaccess" 파일을 추가한다.
RewriteEngine On

RewriteRule ^bbb/(.*) http://www.ccc.net/$1 [R=301,L]


여기서 R=301은 그 주소로 영구 이동하는 것을 나타낸다. 이렇게 하면 도메인 주소를 바꿨을 때에 검색엔진들이 알아 차리고, 옛 주소를 새 주소로 갱신할 수 있다.

aaa.com 이 들어가는 모든 주소(서브도메인 포함)를 bbb.net 로 보내기
- aaa.com 의 루트 디렉토리에 ".htaccess" 파일을 추가한다.
RewriteEngine On

RewriteCond %{HTTP_HOST} aaa\.com
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.aaa\.com(.*) http://$1.bbb.net/$2 [L]
RewriteRule ^aaa\.com(.*) http://bbb.net/$1 [L]

[L] 은 이후에 뒤에 구문이 있더라도 그 줄에서 끝낸다는 뜻이다.


출처 : http://pat.im/461
원출처 : http://www.superuser.co.kr/apache/rewrite_Module/Apache_rewrite_Module.htm
반응형