.htaccess를 사용하여 301 리디렉션 설정하기 (Apache 서버)
301 Redirect는 빠르고 편리하고 검색엔진 친화적(SEO)으로 URL을 리디렉션시키는 가장 깔끔한 방법입니다. HTAccess는 Apache 서버에서만 작동합니다. (FTP를 사용하여 .htaccess 파일에 코드를 추가하도록 합니다.)
단일 페이지 리디렉션
Redirect 301 /oldpage.html http://www.yoursite.com/newpage.html Redirect 301 /oldpage2.html http://www.yoursite.com/folder/
전체 사이트 리디렉션
링크를 그대로 두고 새로운 메인으로 리디렉션시키는 방법입니다(참고).
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !newdomain.com$ [NC] RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
서브디렉터리를 서브도메인으로 리디렉션시키기(모든 URL에 대하여 적용)
예를 들어 http://www.yourdomain.com/subdirectory/{article-url}을 http://subdomain.yourdomain.com/{article-url}로 리디렉트시킵니다.
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.yourdomain.com RewriteRule ^subdirectory/(.*)$ http://subdomain.yourdomain.com/$1 [L,R=301]
서브디렉터리에서 서브도메인의 서브디렉터리로 전환
예, http://www.yourdomain.com/subdirectory/{article-url}을 http://subdomain.yourdomain.com/subdir/{article-url}로 리디렉션시킵니다.
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.yourdomain.com RewriteRule ^subdirectory/(.*)$ http://subdomain.yourdomain.com/subdir/$1 [L,R=301]
서브디렉터리에서 서브도메인으로 리디렉션
예를 들어, http://www.yourdomain.com/mydir/을 http://subdomain.yourdomain.com/으로 리디렉션시킵니다.
# 301 redirect for main pages RedirectMatch 301 ^/mydir/$ http://yourdomain.demo.com/
서브디렉터리를 서브도메인의 특정 페이지로 디리렉션
예를 들어, http://www.yourdomain/subdir/ 내의 모든 페이지를 http://subdomain.yourdomain.com/mypage.php 페이지로 리디렉션시키려는 경우
# permanent redirect to a particular page RedirectMatch 301 ^/mydir/$ http://subdom.demo.com/mypage.php
이외에도 이 글에서는 다양한 상황에서 사용할 수 있는 301 redirect를 소개하고 있습니다.
참고: 워드프레스에서 .htaccess 파일에 리다이렉트 코드를 넣어도 작동하지 않으면 워드프레스 관리자 페이지 > 설정 > 고유주소로 이동하여 고유주소 옵션을 '기본'이 아닌 다른 옵션(예: '글 이름')으로 변경한 후에 테스트해보시기 바랍니다. SEO에 유리한 고유주소 체계는 '글 이름' 또는 '카테고리/글 이름'이라고 합니다(SEO에 유리한 워드프레스의 URL 구조 참조).
WordPress에서 플러그인 사용
워드프레스에서는 위의 방법 외에 다양한 Redirection 관련 플러그인이 있습니다. 예를 들어, Simple 301 Redirects, Redirection과 같은 플러그인을 사용할 수 있습니다.
보다 정교한 Redirect 플러그인을 원하는 경우 WordPress Ultimate Redirect Plugin과 같은 플러그인을 사용해볼 수 있습니다.
모바일용 리디렉션 플러그인
모바일 기기를 탐지하여 모바일용 사이트로 리디렉션시키는 경우 RedirectPlus라는 워드프레스 모바일용 리디렉션 플러그인을 사용할 수 있습니다.
입니다. 체크박스 옵션을 통해 태블릿 장치일 경우 모바일 사이트로 리디렉션할 것인지를 선택할 수 있습니다. 또한, 아이폰, 안드로이드, Windows 폰에 대해 다르게 설정할 수 있는 옵션도 제공됩니다. 이 플러그인은 또한 전체 버전 웹사이트를 볼 수 있도록 하는 기능도 제공합니다.
이외에도 Country and Mobile Redirect for WordPress - Professional Edition과 같은 플러그인도 있습니다. 이 플러그인은 SEO 표준 301, 302 리디렉트를 사용하는 워드프레스용 URL 리디렉션을 위한 플러그인입니다. 이 플러그인을 사용하여 원하는 페이지를 404 페이지로 사용할 수 있습니다. 국가, 도시, 홈 페이지 등을 기준으로 리디렉션시킬 수 있고 모바일 사이트로 디디렉션, Analytics(분석), WMLP 호환, 워드프레스 멀티사이트 호환, 번역 가능 등 다양한 기능을 제공합니다.
다양한 플러그인을 비교하여 상황에 적합한 플러그인을 선택하면 좋을 듯 합니다.
웹호스팅 서버 설정에서 리디렉션 구성하기
Bluehost나 Godaddy 등 일부 웹호스팅 서비스에서는 웹호스팅 서버 설정 페이지에서 리디렉션을 설정할 수 있는 옵션을 제공합니다. 예를 들어, Bluehost에서는 블루호스트에 로그인한 후에 domains > redirect 메뉴에서 리디렉션을 설정할 수 있습니다.
위의 그림과 같이 301 리디렉션(영구), 302 리디렉션(임시) 등을 비롯하여 상세한 설정이 가능합니다(참고).
좋은 글 감사합니다. 덕분에 리디렉션을 잘 해결했습니다.
도움이 되셨기를 바랍니다.즐거운 주말 보내세요.
Search box를 없앴는데, /search/xxxxxx 를 이용하여
찾기 시도하는 사람을 위하여 redirection을 할 수 있을까요?
안녕하세요?
이 경우 다음과 같은 함수를 이용하면 될 것 같습니다.
function fb_change_search_url_rewrite() {
if ( is_search() && ! empty( $_GET['s'] ) ) {
wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );
exit();
}
}
add_action( 'template_redirect', 'fb_change_search_url_rewrite' );
http://wpengineer.com/2258/change-the-search-url-of-wordpress/ 페이지에서 자세히 설명하고 있네요.
한글일 경우 잘 작동할지는 모르겠습니다.
.htaccess를 사용할 경우
RewriteCond %{QUERY_STRING} \?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]