[아파치] RedirectMatch를 이용한 주소 이동

아파치(Apache)의 RedirectMatch 명령을 이용하면 간편하게 문장 하나로 주소 이동하게 할 수  있다.

  AAA.com의 전체 주소를 BBB.net으로 이동하게 하려면 AAA.com에 .htaccess 파일을 만들어서 아래처럼 넣는다.
RedirectMatch ^(.*)$ http://bbb.net$1

  이 블로그는 http://idd.kr/blog/pbs라는 주소를 쓰다가 지금은 http://pat.im으로 바꾸었다. http://idd.kr의 .htaccess에 다음 문장을 넣으면 옛 블로그 주소 전체를 지금 쓰는 주소로 옳길 수 있다.
RedirectMatch /blog/pbs(.*)$ http://pat.im$1

  옛 주소에서 숫자 주소만 옮기려면 이렇게 쓴다.
RedirectMatch /blog/pbs/([0-9]+]$ http://pat.im/$1

  위 문장에서 /blog/pbs를 생략하고 http://idd.kr/blog/pbs의 .htaccess에 넣어도 결과는 같다. 검색기에 주소를 영구 이동(301 redirect)함을 알리려면 아래처럼 301를 붙여 준다.
RedirectMatch 301 /blog/pbs/([0-9]+]$ http://pat.im/$1

  RedirecMatch는 웹호스팅 업체에서 제공하는 수준의 유동포워딩처럼 주소를 이동할 때는 간편하지만, 부가 기능은 RewriteRule만 못하다. RewriteRule은 검색기에 주소가 영구히 이동했음을 알리는 301 Redirect를 비롯하여 더 많은 기능을 지원한다. 이동할 주소가 많고 복잡할수록 RewriteRule을 써야 좋다. .htaccess 파일에 이미 RewriteRule을 쓰고 있으면 RedirectMatch는 결과가 엉뚱하게 나타날 수 있으므로 RewriteRule로 통일해 쓰는 편이 좋다.
글 걸기 주소 : 이 글에는 글을 걸 수 없습니다.

덧글을 달아 주세요

  1. 김재명2 2012/03/11 01:53 고유주소 고치기 답하기

    좋은정보 감사합니다. 방금 테스트해보니 신기하네요.

    • 팥알 2012/03/11 17:08 고유주소 고치기 답하기

      지금보다 모르는 게 많을 때 쓴 글이어서 다시 보니 좀 허술하네요.^^

      RedirectMatch는 딱 한줄로 주소를 바꿀 수 있는 게 매력입니다.
      웹 풀그림들이 조건문을 붙여서 더 다양하게 고쳐쓰기 규칙을 만들 수 있는 주소를 바꿀 수 있는 RewriteRule을 자주 쓰다 보니, RedirectMatch를 쓴 모습은 보기 어렵긴 합니다.

  2. 비밀방문자 2018/08/07 10:03 고유주소 고치기 답하기

    관리자만 볼 수 있는 덧글입니다.

    • 팥알 2018/08/08 05:39 고유주소 고치기 답하기

      아파치와 nginx로 막을 수 있는지 살폈지만,
      rewrite로 처리할 수 있게 본래 경로가 전달되지 않고
      이미 바뀐 경로만 전달되는 것 같습니다.
      저도 관심이 가는 문제여서 방법을 찾아 보고는 있는데,
      어쩌면 rewrite로는 막을 수 없을지도 모르겠습니다.

    • 비밀방문자 2018/08/08 09:31 고유주소 고치기 답하기

      관리자만 볼 수 있는 덧글입니다.