차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
tech:url_redirect [2015/02/16 03:10] 115.93.88.196tech:url_redirect [2023/07/28 10:21] (현재) – [nginx] V_L
줄 1: 줄 1:
-====== Url Redirect ======+{{tag>url redirect 웹 html htaccess}} 
 +====== Url Redirect 301 vs 302 ======
  
 +사이트를 새로운 도메인으로 옮겼다던가 페이지의 주소가 바뀌었을때 사용자들을 자동으로 바뀐 주소로 옮겨가게 만드는데는 두가지 방법이 있다.
  
 +> **301** redirect는 **영구적**으로 옮겼을 때
 +> **302** redirect는 **일시적**으로 옮겼을 때 사용한다.
  
-301 redirect는 영구적으로 옮겼을때 + 
-302 redirect는 일시적으로 옮겼을때 사용 + 
-검색엔진 최적화에는 301 redirect 추천 +301 permanent redirect와 302 temporary redirect 다. 
-사이트를 새로운 도메인으로 옮겼다던가 페이지의 주소가 바뀌었을때 사용자들을 자동으로 바뀐 주소로 옮겨가게 만드는데는 두가지 방법이 있습니다. +301과 302는 사용자가 브라우저를 통해 웹서버에 요청했을때 돌려받는 웹서버의 상태코드다. 
-301 permanent redirect와 302 temporary redirect 입니다. +301은 요청한 정보가 새로운 주소로 영구적으로 옮겨갔다는것을 말해주며 302는 일시적으로 옮겨갔다는것을 말해다. 
-301과 302는 사용자가 브라우저를 통해 웹서버에 요청했을때 돌려받는 웹서버의 상태코드입니다. +표면상으로는 둘다 자동으로 사용자를 옮겨가게 만드니 사람의 육안으로는 구별할수 없으나 검색엔진은 그 차이를 알수 있고, 이 두가지가 검색엔진 최적화에 미치는 영향은 꽤 다.
-301은 요청한 정보가 새로운 주소로 영구적으로 옮겨갔다는것을 말해주며 302는 일시적으로 옮겨갔다는것을 말해줍니다. +
-표면상으로는 둘다 자동으로 사용자를 옮겨가게 만드니 사람의 육안으로는 구별할수 없으나 검색엔진 크롤러는 그 차이를 알수 있고, 이 두가지가 검색엔진 최적화에 미치는 영향은 꽤 큽니다.+
  
 =====301 permanent redirect===== =====301 permanent redirect=====
-이것은 말그대로 요청한 정보(사이트나 페이지)가 영구적으로 옮겼다는것을 말해줍니다.  크롤러가 aaa.com에 접속했을때 aaa.com에서 인덱스한 내용의 주소가 bbb.com으로 바뀌었다는것을 감지하고 인덱스된 aaa.com의 주소를 자동으로 bbb.com으로 변경시켜 줍니다.+이것은 말그대로 요청한 정보(사이트나 페이지)가 영구적으로 옮겼다는 것을 말해다.  크롤러가 aaa.com에 접속했을때 aaa.com에서 인덱스한 내용의 주소가 bbb.com으로 바뀌었다는것을 감지하고 인덱스된 aaa.com의 주소를 자동으로 bbb.com으로 변경시켜 다.
  
 +**검색엔진 최적화에는 301 redirect 추천**
 =====302 temporary redirect===== =====302 temporary redirect=====
-302 redirect는 현재 페이지나 사이트를 일시적으로만 옮겼다는것을 말해줍니다.+302 redirect는 현재 페이지나 사이트를 일시적으로만 옮겼다는 것을 말해다.
 대부분 javascript를 이용한 redirect, 메타태그(<file> 대부분 javascript를 이용한 redirect, 메타태그(<file>
 < meta http-equiv="refresh" content="0;url=http://새로운주소.com" /> < meta http-equiv="refresh" content="0;url=http://새로운주소.com" />
-</file>)를 이용한 redirect 또는 각각의 프로그래밍 언어를 사용한 단순 redirect가 이에 포함됩니다. +</file>)를 이용한 redirect 또는 각각의 프로그래밍 언어를 사용한 단순 redirect가 이에 포함된다.
-aaa.com 소유자가 bbb.com으로 사이트를 옮겼는데 잘모르고 302 redirect를 해주게 되는경우 사용자는 자동으로 옮겨가게 되지만, 크롤러는 사이트가 옮겨갔다는것을 감지하더라도 일시적으로만 옮겨간것으로 간주하기 때문에 검색결과에 아무런 변화를 주지 않게 됩니다. +
-그래서 특정 키워드로 검색을 했을때 aaa.com이 나오던것이 bbb.com으로 업데이트되지 않게 됩니다. +
-간혹 이것을 악용하여 특정 키워드로 최적화된 페이지를 방문한 사용자를 자동으로 페이지와 전혀 상관없는 광고성 페이지로 옮겨가게 만드는 경우도 있습니다. +
-구글은 이를 doorway page로 여겨 페널티를 부과하기때문에 302 redirect를 사용할때에는 잘 생각해보시고 사용하시기 바랍니다. +
-대부분의 경우 302 보다 301 redirect를 사용하시는것을 추천합니다.+
  
 +302 redirect를 해주게 되는 경우 사용자는 자동으로 옮겨가게 되지만, 크롤러는 사이트가 옮겨갔다는 것을 감지하더라도 일시적으로만 옮겨간 것으로 간주하기 때문에 검색결과에 아무런 변화를 주지 않게 된다.
 +그래서 특정 키워드로 검색을 했을때 aaa.com이 나오던것이 bbb.com으로 업데이트되지 않게 된다.
  
 +간혹 이것을 악용하여 특정 키워드로 최적화된 페이지를 방문한 사용자를 자동으로 페이지와 전혀 상관없는 광고성 페이지로 옮겨가게 만드는 경우도 있다.
 +
 +[[tech:google|구글]]은 이를 doorway page로 여겨 페널티를 부과하기 때문에
 +대부분의 경우 302 보다 301 redirect를 사용하는 것을 추천한다.
  
 ====html==== ====html====
줄 48: 줄 52:
 </file> </file>
  
-http://en.wikipedia.org/wiki/URL_redirection+[[php redirect]] 참조.
  
-{{tag>url redirect}}+ 
 +====nginx==== 
 + 
 +강제. 항상. 
 + 
 +<file> 
 +server  
 +  server_name old.com;  
 +  return 301 $scheme://new.com$request_uri; 
 +
 +</file> 
 + 
 +http 에서 https로 301 
 + 
 +<file nginx> 
 +server { 
 + listen 80; 
 + server_name example.com; 
 + root html; 
 +  
 + location / { 
 +        return 301 https://example.com$request_uri; 
 +    } 
 +} 
 + 
 +server { 
 + listen 443 ssl https; 
 +    server_name  example.com 
 +    root         html; 
 + 
 +    ssl                  on; 
 +    ssl_certificate      /etc/pki/tls/certs/example.com.chained.crt; 
 +    ssl_certificate_key  /etc/pki/tls/private/example.com.key; 
 +    ssl_session_timeout  5m; 
 +    ssl_protocols TLSv1.2 TLSv1.3; 
 +    ssl_ciphers  ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"; 
 +    ssl_prefer_server_ciphers   on; 
 +    location ~ /\.ht { 
 +         deny  all; 
 +    } 
 +
 +</file>