드루팔에서의 리다이렉트 Redirect 구현 방법들

리다이렉트를 구현하려면, 모듈들을 이용하는 방법과 기타 방법들이 있다.

1. Redirect 관련 모듈들

버전 7용 추가) http://drupal.org/project/redirect
- 설치/활성화 후 admin/config/search/redirect/ 에 설정화면이 있다.

버전 6,7용 둘 다 존재하는 모듈)
http://drupal.org/project/globalredirect

http://drupal.org/project/path_redirect
- 단점 : Locale 모듈과 동시 사용시 /ko /ja /en ... 등이 자동으로 붙어 비실용적.

http://drupal.org/project/taxonomy_redirect

http://drupal.org/project/pathologic

위 모듈들은 인터페이스를 찾기와 사용하기 다소 어려운 편이다.

2. 심볼릭 링크를 이용해서 (404 에러 등을 방지하면서) 유도하는 방법이 있다.

하지만 이 방법을 이용하면, 외부의 틀린 링크를 수정할 기회를 놓친다.

3. 제일 확실한 방법은 드루팔 최상단에 있는 .htaccess를 수정하는 방법일 게다.

.htacess 기존 :
# Rewrite current-style URLs of the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

.htacess 신규 :
# Rewrite current-style URLs of the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(drupal|bulabula)(/|$)
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RedirectPermanent /drupal/ /

* redirect에 관한 좋은 문서가 아래 주소에 있다.
http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection
https://httpd.apache.org/docs/2.2/ko/misc/rewriteguide.html
http://httpd.apache.org/docs/2.2/ko/mod/mod_alias.html

Your rating: None 평균 : 3.7 (3 votes)

댓글

리라이트를 .htaccess에 설정한

리라이트를 .htaccess에 설정한 예입니다.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^aabbcc.com?$ [OR]
RewriteCond %{HTTP_HOST} ^www.aabbcc.com?$
RewriteRule ^(.*)$ http://aabbcc.com/ii/ [R=301,L]

aabbcc.com 사이트에 있는 drupal에 /ii를 붙이는 예입니다.
즉 aabbcc.com 또는 www.aabbcc.com에 오면 aabbcc.com/ii로 보내는 것입니다.
단, 이런 경우에 사전 준비가 2개 필요합니다.

1.드루팔 settings.php 는
[aabbcc.com의 drupal folder]/sites/aabbcc.com.ii
에 존재해야 합니다.

2. [aabbcc.com의 DocumentRoot folder]/ii로
[aabbcc.com의 drupal folder]에 심볼릭 링크를 겁니다.
즉 [aabbcc.com의 DocumentRoot folder]에 ii라는 심볼릭 링크가 있게 되고,
그걸 누르면 [aabbcc.com의 drupal folder]로 점프하게 해 주세요.

이상입니다.

301 vs 302

301 vs 302 리디렉트(redirect)
http://www.seo-korea.com/301-vs-302-redirect/

요약문) 페이지 리디렉트와 검색엔진 최적화.
301 redirect는 영구적으로 옮겼을때 사용.
302 redirect는 일시적으로 옮겼을때 사용.
검색엔진 최적화에는 301 redirect 추천.

* 좋은 글입니다. 필히 전문을 읽어 보세요.