차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
tech:url_redirect [2014/07/21 09:10] – 만듦 _sx.twitter.52329089 | tech:url_redirect [2023/07/28 10:21] (현재) – [nginx] V_L | ||
---|---|---|---|
줄 1: | 줄 1: | ||
- | ====== Url Redirect ====== | + | {{tag> |
+ | ====== Url Redirect | ||
+ | |||
+ | 사이트를 새로운 도메인으로 옮겼다던가 페이지의 주소가 바뀌었을때 사용자들을 자동으로 바뀐 주소로 옮겨가게 만드는데는 두가지 방법이 있다. | ||
+ | |||
+ | > **301** redirect는 **영구적**으로 옮겼을 때 | ||
+ | > **302** redirect는 **일시적**으로 옮겼을 때 사용한다. | ||
+ | |||
+ | |||
+ | |||
+ | 301 permanent redirect와 302 temporary redirect 이다. | ||
+ | 301과 302는 사용자가 브라우저를 통해 웹서버에 요청했을때 돌려받는 웹서버의 상태코드이다. | ||
+ | 301은 요청한 정보가 새로운 주소로 영구적으로 옮겨갔다는것을 말해주며 302는 일시적으로 옮겨갔다는것을 말해준다. | ||
+ | 표면상으로는 둘다 자동으로 사용자를 옮겨가게 만드니 사람의 육안으로는 구별할수 없으나 검색엔진은 그 차이를 알수 있고, 이 두가지가 검색엔진 최적화에 미치는 영향은 꽤 크다. | ||
+ | |||
+ | =====301 permanent redirect===== | ||
+ | 이것은 말그대로 요청한 정보(사이트나 페이지)가 영구적으로 옮겼다는 것을 말해준다. | ||
+ | |||
+ | **검색엔진 최적화에는 301 redirect 추천** | ||
+ | =====302 temporary redirect===== | ||
+ | 302 redirect는 현재 페이지나 사이트를 일시적으로만 옮겼다는 것을 말해준다. | ||
+ | 대부분 javascript를 이용한 redirect, 메타태그(< | ||
+ | < meta http-equiv=" | ||
+ | </ | ||
+ | |||
+ | 302 redirect를 해주게 되는 경우 사용자는 자동으로 옮겨가게 되지만, 크롤러는 사이트가 옮겨갔다는 것을 감지하더라도 일시적으로만 옮겨간 것으로 간주하기 때문에 검색결과에 아무런 변화를 주지 않게 된다. | ||
+ | 그래서 특정 키워드로 검색을 했을때 aaa.com이 나오던것이 bbb.com으로 업데이트되지 않게 된다. | ||
+ | |||
+ | 간혹 이것을 악용하여 특정 키워드로 최적화된 페이지를 방문한 사용자를 자동으로 페이지와 전혀 상관없는 광고성 페이지로 옮겨가게 만드는 경우도 있다. | ||
+ | |||
+ | [[tech: | ||
+ | 대부분의 경우 302 보다 301 redirect를 사용하는 것을 추천한다. | ||
====html==== | ====html==== | ||
줄 21: | 줄 52: | ||
</ | </ | ||
+ | [[php redirect]] 참조. | ||
- | {{tag>url redirect}} | + | |
+ | ====nginx==== | ||
+ | |||
+ | 강제. 항상. | ||
+ | |||
+ | < | ||
+ | server | ||
+ | server_name old.com; | ||
+ | return 301 $scheme:// | ||
+ | } | ||
+ | </file> | ||
+ | |||
+ | http 에서 https로 301 | ||
+ | |||
+ | <file nginx> | ||
+ | server { | ||
+ | listen 80; | ||
+ | server_name example.com; | ||
+ | root html; | ||
+ | |||
+ | location / { | ||
+ | return 301 https:// | ||
+ | | ||
+ | } | ||
+ | |||
+ | server { | ||
+ | listen 443 ssl https; | ||
+ | server_name | ||
+ | root | ||
+ | |||
+ | ssl on; | ||
+ | ssl_certificate | ||
+ | ssl_certificate_key | ||
+ | ssl_session_timeout | ||
+ | ssl_protocols TLSv1.2 TLSv1.3; | ||
+ | ssl_ciphers | ||
+ | ssl_prefer_server_ciphers | ||
+ | location ~ /\.ht { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | </ |