HTTP 리ë¤ì´ë í¸
URL 리ë¤ì´ë ì í¹ì URL í¬ìë©ì íì´ì§ ë¨ìì ì¤ì 리ìì¤, í¼ í¹ì ì ì²´ ì¹ ì í리ì¼ì´ì ì´ ë¤ë¥¸ URLì ìì¹íê³ ìë ìíìì ë§í¬ë¥¼ ì¡´ììí¤ë 기ì ì ëë¤. HTTPë ë§ì 목í를 ìí´ ì¬ì©ëë ì´ë° ëìì ìíí기 ìí´ í¹ë³í ì¢ ë¥ì ìëµì¸ HTTP 리ë¤ì´ë í¸ë¥¼ ì ê³µí©ëë¤: ì¬ì´í¸ ì ì§ê´ë¦¬ê° ì§í ì¤ì¸ ìíììì ì¼ìì ì¸ ë¦¬ë¤ì´ë ì , ì¬ì´í¸ ìí¤í ì³ì ë³ê²½ ì´íìë ì¸ë¶ ë§í¬ë¥¼ ëìíë ìíë¡ ì ì§ìí¤ê¸° ìí ì구ì ì¸ ë¦¬ë¤ì´ë ì , íì¼ ì ë¡ë ì ì§í ìí íì´ì§ ê·¸ë¦¬ê³ ê·¸ ì¸ì ìë§ì 리ë¤ì´ë ì ë¤ ...
ìì¹
HTTPìì, 리ë¤ì´ë ì
ì ìì²ì ëí´ í¹ë³í ìëµ(리ë¤ì´ë í¸)ì ì ì¡í¨ì¼ë¡ì¨ ì´ë°ë©ëë¤. HTTP 리ë¤ì´ë í¸ë 3xx ìí ì½ë를 ì§ë ìëµì
ëë¤. 리ë¤ì´ë í¸ ìëµì ìì í ë¸ë¼ì°ì ë, ì ê³µë ìë¡ì´ URLì ì¬ì©íë©° ê·¸ê²ì ì¦ì ë¡ëí©ëë¤: ëë¶ë¶ì ê²½ì°, 리ë¤ì´ë ì
ì ì¬ì©ììê²ë ë³´ì´ì§ ìëë°ë¤ê°, ì ì ì±ë¥ ì í를 ì¼ì¼íµëë¤.

리ë¤ì´ë í¸ìë ëª ê°ì§ ì íì´ ìì¼ë©° ì¸ ê°ì§ ì¹´í ê³ ë¦¬ë¡ ëëì´ì§ëë¤: ììì , ì¼ìì ê·¸ë¦¬ê³ í¹ì 리ë¤ì´ë ì .
ììì ì¸ ë¦¬ë¤ì´ë ì
ì´ ë¦¬ë¤ì´ë ì ì ììí ì§ìë¨ì ì미í©ëë¤. ìëì URLì´ ë ì´ì ì¬ì©ëì§ ììì¼ íë©° ìë¡ì´ URLì ë ì í¸í´ì¼ í¨ì ìì¬í©ëë¤. ê²ì ìì§ ë¡ë´ì ê·¸ë¤ì ì¸ë±ì¤ ë´ìì 리ìì¤ì ëí ì°ê´ URLì ê°±ì ì ì´ë°ìíµëë¤.
| ì½ë | í ì¤í¸ | ë©ìë í¸ë¤ë§ | ì¼ë°ì ì¸ ì ì¤ì¼ì´ì¤ |
|---|---|---|---|
301 |
Moved Permanently |
GET ë©ìëë ë³ê²½ëì§ ììµëë¤. ë¤ë¥¸ ë©ìëë¤ì GETë¡ ë³íê±°ë ë³íì§ ìììë ììµëë¤.[1] |
ì¹ ì¬ì´í¸ì ì¬í¸ì±. |
308 |
Permanent Redirect |
ë©ìëì 본문ì ë³íì§ ììµëë¤. | GETì´ ìë ë§í¬/ëìì ì§ë, ì¹ ì¬ì´í¸ì ì¬í¸ì±. |
[1] ëª
ì¸ë ë©ìë ë³ê²½ì íì©í ìëê° ìì¼ë, ì¬ì¤ ì ì¬ì©ì ìì´ì í¸ë¤ì´ ê·¸ë ê² íê³ ììµëë¤. 308 ì GETì´ ìë ë©ìë를 ì¬ì©í ë ëìì ì 매모í¸í¨ì ì ê±°íê³ ì ë§ë¤ì´ì¡ìµëë¤.
ì¼ìì ì¸ ë¦¬ë¤ì´ë ì
ëëë¡ ìì²ë 리ìì¤ë ê·¸ê²ì íì¤ ìì¹ìì ì ê·¼í ì ìê³ ë¤ë¥¸ ìì¹ìì ì ê·¼ ê°ë¥í ê²½ì°ê° ììµëë¤. ì´ë° ê²½ì° ì¼ìì ì¸ ë¦¬ë¤ì´ë í¸ê° ì¬ì©ë ì ììµëë¤. ê²ì ìì§ ë¡ë´ì ìë¡ì´, ì¼ìì ì¸ ë§í¬ë¥¼ 기ìµíì§ ëª»í©ëë¤. ì¼ìì ì¸ ë¦¬ë¤ì´ë ì ì ì¼ìì ì¸ ì§íì¨ íì´ì§ë¥¼ íìíê³ ì 리ìì¤ë¥¼ ë§ë¤ê³ ê°±ì íë©° ìì í ë ì¬ì©ë ì ë ììµëë¤.
| ì½ë | í ì¤í¸ | ë©ìë í¸ë¤ë§ | ì¼ë°ì ì¸ ì ì¤ ì¼ì´ì¤ |
|---|---|---|---|
302 |
Found |
GET ë©ìëë ë³ê²½ëì§ ììµëë¤. ë¤ë¥¸ ë©ìëë¤ì GETë¡ ë³íê±°ë ë³íì§ ìììë ììµëë¤.[2] |
ì¹ íì´ì§ê° ì측íì§ ëª»í ì´ì ë¡ ì¼ìì ì¼ë¡ ì´ì© ë¶ê°ë¥í ë ê° ììµëë¤. ê·¸ë° ì´ì ë¡, ê²ì ìì§ì ê·¸ë¤ì ë§í¬ë¥¼ ê°±ì íì§ ììµëë¤. |
303 |
See Other |
GET ë©ìëë ë³ê²½ëì§ ììµëë¤. ë¤ë¥¸ ë©ìë¤ì GET ë©ìëë¡ ë³ê²½ë©ëë¤(본문ì ìê² ë©ëë¤). |
ëìì ë¤ì ì´ë°ìí¤ë íì´ì§ 리íë ì를 ë§ê¸° ìí´ PUT í¹ì POST ë¤ì ì¬ì©ë©ëë¤. |
307 |
Temporary Redirect |
ë©ìëì 본문ì ë³ê²½ëì§ ììµëë¤. | ì¹ íì´ì§ê° ì측íì§ ëª»í ì´ì ë¡ ì¼ìì ì¼ë¡ ì´ì© ë¶ê°ë¥í ë ê° ììµëë¤. ê·¸ë° ì´ì ë¡, ê²ì ìì§ì ê·¸ë¤ì ë§í¬ë¥¼ ê°±ì íì§ ììµëë¤. GETì´ ìë ë§í¬/ëìì´ ì¬ì´í¸ìì ì´ì© ê°ë¥í ë 302ë³´ë¤ ë ì¢ìµëë¤. |
[2] ëª
ì¸ìë ë©ìë ë³ê²½ì íì©í ìëê° ìì¼ë, ì¤ì§ì ì¼ë¡ ì¬ì©ì ìì´ì í¸ë¤ì´ ê·¸ë ê² íê³ ììµëë¤. 307 ì GETì´ ìë ë©ìëë¤ì ì¬ì©íë ê²½ì° ëìì ì 매모í¸í¨ì ì ê±°í기 ìí´ ë§ë¤ì´ì§ëë¤.
í¹ì 리ë¤ì´ë ì
ì´ë° ë³´íµ ë¦¬ë¤ì´ë ì
ê³¼ ëë¶ì´, í¹ë³í ë ê°ì§ 리ë¤ì´ë ì
ì´ ë ììµëë¤. 304 (ìì ëì§ ìì)ì (ì¤ëë)ë¡ì»¬ì ìºìë ë³µì¬ë³¸ì¼ë¡ íì´ì§ë¥¼ 리ë¤ì´ë í¸ìí¤ë©°, 300 (ë¤ì¤ ì í)ì ìë 리ë¤ì´ë ì
ì
ëë¤:ë¸ë¼ì°ì ì ìí´ ì¹ íì´ì§ë¡ ííëë ë¶ë¬¸ì ê°ë¥í 리ë¤ì´ë ì
ì ëì´íë©° ì¬ì©ìë ê·¸ ì¤ íë를 ì íí기 ìí´ í´ë¦í©ëë¤.
| ì½ë | í ì¤í¸ | ì¼ë°ì ì¸ ì ì¤ì¼ì´ì¤ |
|---|---|---|
300 |
Multiple Choice |
ì´ë° ê²½ì°ê° ë§ì§ë ììµëë¤: 본문ì HTML íì´ì§ ë´ì ì íì§ê° ëì´ë©ëë¤. 200 OK ìíì í¨ê» ìë¸ë ì ììµëë¤. |
304 |
Not Modified |
ìºì 리íë ì: ìºì ê°ì´ ì¬ì í ì¬ì© ê°ë¥í ì ëë¡ ì ì í¨ì ê°ë¦¬íµëë¤. |
리ë¤ì´ë ì ì ëª ìíë ëì²´ ë°©ë²
HTTP 리ë¤ì´ë í¸ê° 리ë¤ì´ë ì
ì ì ìíë ì ì¼í ë°©ë²ì ìëëë¤. ë ê°ì ë¤ë¥¸ ë°©ë²ì´ ì¡´ì¬í©ëë¤: <meta> ì리먼í¸ë¥¼ ì¬ì©íë HTML 리ë¤ì´ë ì
ê³¼ DOMì ì¬ì©íë JavaScript 리ë¤ì´ë ì
ì´ ììµëë¤.
HTML 리ë¤ì´ë ì
HTTP 리ë¤ì´ë í¸ë 리ë¤ì´ë ì
ì ë§ëë ê°ì¥ ì¢ì ë°©ë²ì´ì§ë§, ëëë¡ ì¹ ê°ë°ìë ìë²ì ëí ì ì´ê¶ì ê°ì§ê³ ìì§ ìê±°ë ê·¸ê²ì 구ì±í ì ìë ê²½ì°ê° ììµëë¤. ì´ë° í¹ìí ìí©ë¤ ë문ì, ì¹ ê°ë°ìë¤ì refresh를 ì¤ì í기 ìí´ íì´ì§ì <head> ë´ì <meta> ì리먼í¸ì http-equiv ìì±ì¼ë¡ HTML íì´ì§ë¥¼ ë§ë¤ ì ììµëë¤. í´ë¹ íì´ì§ë¥¼ ëì¤íë ì´í ë, ë¸ë¼ì°ì ë ì´ ì리먼í¸ë¥¼ ë°ê²¬íê³ íìë íì´ì§ë¡ ì´ëí ê²ì
ëë¤.
<head>
<meta http-equiv="refresh" content="0;URL='http://www.example.com/'" />
</head>
content ìì±ì 주ì´ì§ URLë¡ ë¦¬ë¤ì´ë í¸ í기 ì´ì ì ë¸ë¼ì°ì ê° ì¼ë§ë§í¼ì ìê°(ì´)ì 기ë¤ë ¤ì¼ íëì§ë¥¼ ëíë´ë ì«ìë¡ ììë©ëë¤. ë ëì ì ê·¼ì±ì ìí´ íì 0ì¼ë¡ ì¤ì íì기 ë°ëëë¤.
ë ë§í íììì´, ì´ ë©ìëë HTML íì´ì§(í¹ì ê·¸ì ì ì¬í 무ì¸ê°)ììë§ ëìíë©° ì´ë¯¸ì§ë ë¤ë¥¸ ì´ë¤ ì¢ ë¥ì 컨í ì¸ ì ëí´ì ì¬ì©ë ì ììµëë¤.
ì°¸ê³ : ì´ë° 리ë¤ì´ë ì ë¤ì´ ë¸ë¼ì°ì ìì ë¤ë¡ ê°ê¸° ë²í¼ì 무ì©ì§ë¬¼ë¡ ë§ë ë¤ë ê²ì 기ìµíì기 ë°ëëë¤: í´ë¹ í¤ëê° ìë íì´ì§ë¡ ë¤ì ëìê° ì ìëì§ë§ ì¦ì ìì¼ë¡ ì´ëíê² ë ê²ëë¤.
JavaScript 리ë¤ì´ë ì
JavaScript ë´ììì 리ë¤ì´ë ì
ì window.location íë¡í¼í°ì ê°ì ì¤ì í´ì ë§ë¤ì´ì§ë©° ìë¡ì´ íì´ì§ê° ë¡ëë©ëë¤.
window.location = "http://www.example.com/";
HTML 리ë¤ì´ë ì ì²ë¼, 모ë 리ìì¤ìì ëìíë ê²ì ìëë©°, ëª ë°±íê² JavaScript를 ì¤íí í´ë¼ì´ì¸í¸ ìììë§ ëìí©ëë¤. íì§ë§ ë¤ë¥¸ì ì, ì를 ë¤ì´ ì´ë¤ ì¡°ê±´ì´ ì¶©ì¡±ëë ê²½ì°ìë§ ë¦¬ë¤ì´ë ì ì ì´ë°ìí¬ ì ìë¤ë ì ìì ë ë§ì ê°ë¥ì±ì ê°ì§ê³ ììµëë¤.
ì°ì ìì
URL 리ë¤ì´ë ì ì ëí ì¸ ê°ì§ ê°ë¥ì±ì´ ì기ì, ëª ê°ì§ ë°©ë²ì´ ëìì ì§ì ë ì ìëë°, ì´ë¤ ê²ì´ 먼ì ì ì©ë ê¹ì? ì°ì ììë ë¤ìê³¼ ê°ìµëë¤:
- íì´ì§ê° ì½í ì ë ìê³ ì ì¡ë ì ë ìë ê²½ì°, HTTP 리ë¤ì´ë í¸ê° íì 먼ì ì¤íë©ëë¤.
- ì´ë¤ HTTP 리ë¤ì´ë í¸ë¡ ìë ê²½ì°ì, HTML 리ë¤ì´ë í¸ (
<meta>)ê° ì¤íë©ëë¤. - JavaScript 리ë¤ì´ë í¸ë ìµíì ìë¨ì¼ë¡ì¨ ì¬ì©ëë©°, í´ë¼ì´ì¸í¸ 측ìì JavaScript를 íì±íìí¨ ê²½ì°ìë§ ì¬ì©í ì ììµëë¤.
ê°ë¥í ê²½ì°, íì HTTP 리ë¤ì´ë í¸ë¥¼ ì¬ì©í´ì¼ íë©°, <meta> ì리먼í¸ë¥¼ ì¬ì©í´ìë ìë©ëë¤. ë§ì½ ê°ë°ìê° HTTP 리ë¤ì´ë í¸ë¥¼ ë³ê²½íê³ HTML 리ë¤ì´ë í¸ë¥¼ ìëë¤ë©´, 리ë¤ì´ë í¸ë ë ì´ì ëì¼í í ê²ì´ ìëê±°ë, 무í 루íë¡ ì¢
ë£ëê±°ë ë¤ë¥¸ ì
ëª½ì´ ììë ìë ììµëë¤.
ì ì¤ ì¼ì´ì¤
리ë¤ì´ë í¸ì ëí ë§ì ì ì¤ ì¼ì´ì¤ë¤ì´ ì¡´ì¬íì§ë§, 모ë 리ë¤ì´ë í¸ë¤ì´ ì±ë¥ê³¼ ì§ê²°ëë¯ë¡, 리ë¤ì´ë í¸ì ì¬ì©ì ìµìíì¼ë¡ ì ì§ëì´ì¼ í©ëë¤.
ëë©ì¸ ì¨ë¦¬ì´ì±
ì´ìì ì¼ë¡, íëì ë¡ì¼ì´ì ì´ ì¡´ì¬íê³ , ê·¸ëì íëì 리ìì¤ì ëí´ íëì URLì´ ì¡´ì¬íë¤ê³ ê°ì íê² ìµëë¤. ê·¸ë¬ë íëì 리ìì¤ì ëí ëì²´ ì´ë¦ì ê°ê³ ì í ëê° ìì ì ììµëë¤ (www ì ëì¬ë¥¼ ê°ê±°ë ê°ì§ ìë ëªëª ëë©ì¸ í¹ì URLì ë ì§§ê³ ê¸°ìµí기 ì½ëë¡íë ë±...). ì´ë° ê²½ì°, 리ìì¤ë¥¼ ë³µì í기 ë³´ë¤ë ì¤ì (ì ì) URLì ëí 리ë¤ì´ë í¸ë¥¼ ì¬ì©íë ê²ì´ ë ì ì©í©ëë¤.
ëë©ì¸ ì¨ë¦¬ì´ì±ì íë ê²½ì°ë ë¤ìê³¼ ê°ìµëë¤.
- ì¬ì´í¸ ë²ì íì¥. ë¹ì ì ì¬ì´í¸ê°
www.example.comëë©ì¸ì ê°ì§ê³ ìì ëexample.comì íµí ì ê·¼ë ê°ë¥í ê²½ì°ê° ê°ì¥ íí ê²½ì°ì ëë¤.example.comíì´ì§ë¥¼www.example.comë¡ ë¦¬ë¤ì´ë ì íë ê²ì´ ì´ ê²½ì°ì í´ë¹ë©ëë¤. ì¼ë°ì ì¼ë¡ ì¬ì©ëë ë³ì¹ í¹ì, ëë©ì¸ ì´ë¦ì ë¹ë²í ì¼ì´ëë ì¤ì를 ì ê³µí ìë ììµëë¤. - ë¤ë¥¸ ëë©ì¸ì¼ë¡ì ì´ë. ì를 ë¤ì´, ë¹ì ì íì¬ê° ì´ë¦ì ë³ê²½íê³ ì´ì ì´ë¦ì¼ë¡ ê²ìíë ê²½ì° ì¬ì í íì¬ì ìë ì´ë¦ì¼ë¡ ì¹ ì¬ì´í¸ë¥¼ ì¬ì©íë ì¬ëë¤ì´ ìë¡ì´ ì´ë¦ì ì¬ì´í¸ë¥¼ ì´ì©í길 ë°ë¼ë ê²½ì°ì í´ë¹ë©ëë¤.
- HTTPS ê°ì . ì¬ì´í¸ì ëí HTTP ë²ì ìì²ì ì¬ì´í¸ì HTTPS ë²ì ì¼ë¡ 리ë¤ì´ë í¸ë ê²ì ëë¤.
ë§í¬ ì ì§í기
ì¹ ì¬ì´í¸ë¥¼ ë¤ì ë§ë¤ë, 리ìì¤ì URLì´ ë³ê²½ë기 ë§ë ¨ì ëë¤. ìë¡ì´ ë¤ì´ë° ê³íê³¼ ì¼ì¹íëë¡ ì¹ ì¬ì´í¸ì ë´ë¶ ë§í¬ë¥¼ ê°±ì í ì ìë ê²½ì°ì¡°ì°¨ë, ì¸ë¶ 리ìì¤ì ìí´ ì¬ì©ëë URLì ëí´ìë ì´ì© ìê° ììµëë¤. ê·¸ë¤ì ë¹ì ìê² ìì¤í ì¬ì©ìì´ë¯ë¡(ë SEOì ëìì´ ë길 ë°ë¼ë ë§ìì¼ë¡) í´ë¹ ë§í¬ë¥¼ 깨ë¨ë¦¬ê³ ì¶ì§ ìì ê²ì´ê¸°ì, ì´ì URLìì ìë¡ì´ URLë¡ì 리ë¤ì´ë í¸ë¥¼ ì¤ì íë ¤ í ê²ëë¤.
ì°¸ê³ : ì´ ê¸°ì ëí ë´ë¶ ë§í¬ì ëí´ì ëìíë¯ë¡, ë´ë¶ 리ë¤ì´ë í¸ë í¼í´ì¼ í ê²ëë¤. 리ë¤ì´ë í¸ë ìë¹í ì±ë¥ ë¹ì©ì´ ëë¯ë¡(ì¶ê°ì ì¸ HTTP ìì²ì´ ìíëë¯ë¡) ë´ë¶ ë§í¬ë¥¼ ë°ë¡ì¡ì ë´ë¶ ë¤ì´ë í¸ë¥¼ í¼í ì ìë¤ë©´ í´ë¹ ë§í¬ë¥¼ ìì í´ì¼ í©ëë¤.
ìì íì§ ìì ìì²ì ëí ì¼ìì ì¸ ìëµ
Unsafe ìì²ì´ ìë²ì ìí를 ìì í ê²½ì°, ì¬ì©ìê° ì´ë¥¼ ì°ì°í ì¬ì°í ì ìì´ìë ìë©ëë¤. ì¼ë°ì ì¼ë¡, ë¹ì ì ì¬ì©ìê° PUT, POST í¹ì DELETE ìì²ì ì¬ì ì¡í기를 ë°ë¼ì§ë ìì ê²ëë¤. ë§ì½ ë¹ì ì´ í´ë¹ ìì²ì ê²°ê³¼ë¡ ì§ê¸ ë§ ìëµì ì ì¡íë¤ë©´, ë¨ìí ìë¡ê³ 침 ë²ì ì ë르ë ê²ë§ì¼ë¡ ìì²ì ì¬ì ì¡ë ê²ëë¤(ìë§ë íì¸ ë©ìì§ ì´íì).
ì´ë° ê²½ì°, ìë²ë ì¬ë°ë¥¸ ì 보를 í¬í¨íê² ë 303 (See Other) ìì²ì íì í ì ìëë°, ìë¡ ê³ ì¹¨ ë²í¼ì´ ë린 ê²½ì°, ìì íì§ ìì ìì²ì´ ì¬ì°ëì§ ìê³ ëì¼í íì´ì§ê° ë¤ì ëì¤íë ì´ë ê²ì
ëë¤.
긴 ìì²ì ëí ì¼ìì ì¸ ìëµ
ì´ë¤ ìì²ë¤ì ëëë¡ íì²ë¦¬ë¥¼ ìí´ ìì ëë DELETE ìì²ì²ë¼, ìë² ììì ì¢ ë ë§ì ìê°ì íìë¡ íë ê²½ì°ê° ììµëë¤. ì´ì ê°ì ê²½ì°ì, ìëµì 303 (See Other) 리ë¤ì´ë í¸ë¡, ì´ë¤ ëìì´ ìì ëì´ ìê³ ì§íë¥ ì ê´í´ ìë ¤ì£¼ê³ ê·¸ ëìì ì·¨ìí ì ìëë¡ í´ì£¼ë íì´ì§ë¡ 리ë¤ì´ë í¸ë©ëë¤.
ì¼ë° ìë² ë´ ë¦¬ë¤ì´ë í¸ êµ¬ì±
>Apache
리ë¤ì´ë í¸ë ìë² êµ¬ì± íì¼ í¹ì ê° ëë í 리ì .htaccess ë´ìì ì¤ì ë ì ììµëë¤.
mod_alias 모ëì (기본ê°ì¼ë¡) 302 ìëµì ì¤ì íë Redirect ê·¸ë¦¬ê³ Redirect_Match ëë í°ë¸ë¥¼ ê°ì§ê³ ììµëë¤:
<VirtualHost *:80> ServerName example.com Redirect / http://www.example.com </VirtualHost>
URL http://example.com/ ì http://www.example.com/ ë¡ ë¦¬ë¤ì´ë í¸ë©ëë¤(íì§ë§ http://example.com/other.htmlì 리ë¤ì´ë í¸ëì§ ììµëë¤).
Redirect_Match ë ëê°ì´ ëìíì§ë§ ìí¥ì ë°ì URL 컬ë ì
ì ì를 ìí´ ì ê· ííìì ë°ìµëë¤:
RedirectMatch ^/images/(.*)$ http://images.example.com/$1
images/ í´ë ë´ ëª¨ë 문ìë¤ì ë¤ë¥¸ ëë©ì¸ì¼ë¡ 리ë¤ì´ë í¸ë ê²ì
ëë¤.
ì¼ìì ì¸ ë¦¬ë¤ì´ë í¸ë¥¼ ì¤ì íê³ ì¶ì§ ìë¤ë©´, ë¤ë¥¸ 리ë¤ì´ë í¸ë¥¼ ì¤ì íëë° ì¬ë¶ì íë¼ë©í°(ì¬ì©íê³ ì íë HTTP ìí ì½ë í¹ì permanent í¤ìë)를 ì¬ì©í ì ììµëë¤:
Redirect permanent / http://www.example.com Redirect 301 / http://www.example.com
mod_rewrite 모ëë 리ë¤ì´ë í¸ë¥¼ ë§ëëë° ì¬ì©ë ì ììµëë¤. ì´ê²ì ì½ê° ë ë³µì¡íë°, ì¬ì©ì ì½ê° ë ë³µì¡í©ëë¤.
Nginx
Nginxììë, ë¹ì ì´ ë¦¬ë¤ì´ë í¸íê³ ì íë 컨í ì¸ ì ëí í¹ì ìë² ë¸ë¡ì ë§ë¤ ì ììµëë¤:
server {
listen 80;
server_name example.com;
return 301 $scheme://www.example.com$request_uri;
}
í´ë í¹ì íì´ì§ì íì ì§í©ìë§ ì ì©ëë 리ë¤ì´ë í¸ë¥¼ ìíë¤ë©´, rewrite ëë í°ë¸ë¥¼ ì¬ì©íì기 ë°ëëë¤:
rewrite ^/images/(.*)$ http://images.example.com/$1 redirect; rewrite ^/images/(.*)$ http://images.example.com/$1 permanent;
IIS
IISììë, 리ë¤ì´ë ì
구ì±ì ìí´ <httpRedirect> ìì를 ì¬ì©í ì ììµëë¤.
리ë¤ì´ë ì 루í
리ë¤ì´ë ì 루íë ì±ê³µì ì¸ ë¦¬ë¤ì´ë ì ì´ ì´ì ì 리ë¤ì´ë ì ì ë¤ì ë°ë¼ê° ë ì¼ì´ë©ëë¤. ë¤ì ë§í´, ê²°ì½ ëëì§ ìì¼ë©´, ëê¹ì§ ì´ë¤ íì´ì§ë ë³¼ ì ìë 루íê° ì¡´ì¬íë¤ë ë§ì ëë¤.
ëë¶ë¶ì ê²½ì°, ì´ë° 문ì ë ìë² ì¸¡ 문ì ì´ë©° ìë²ê° ì´ë¥¼ ê°ì§í ì ìë¤ë©´, 500 Internal Server Error를 íì í ê²ì
ëë¤. ìë² êµ¬ì±ì ìì í ì§íì ê·¸ë° ì¤ë¥ë¥¼ ë³´ê² ëë¤ë©´, ê·¸ê²ì 리ë¤ì´ë ì
루íì¼ ê°ë¥ì±ì´ í½ëë¤.
ëë¡ë, ìë²ê° ê·¸ê²ì ê°ì§íì§ ìì ëë ìì ê²ëë¤: ì ì²´ì ì¸ ê·¸ë¦¼ì 모르ë ëª ê°ì ìë²ì 리ë¤ì´ë ì 루íê° íí´ì§ê¸° ë문ì ëë¤. ì´ë° ê²½ì°, ë¸ë¼ì°ì ê° ì´ë¥¼ ê°ì§íê³ ì¤ë¥ ë©ìì§ë¥¼ ë³´ì¬ì¤ ê²ì ëë¤. Firefoxë ë¤ìê³¼ ê°ì´ ëì¤íë ì´íê² ë©ëë¤:
Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
ë°ë©´, í¬ë¡¬ì ë¤ìê³¼ ê°ì´ ëì¤íë ì´í©ëë¤:
This Webpage has a redirect loop
모ë ê²½ì°ì, ì¬ì©ìê° í ì ìë ì¼ì 그리 ë§ì§ ììµëë¤(ì¬ì©ì 측ìì ìºì í¹ì ì¿ í¤ì ë¶ì¼ì¹ì ê°ì ì´ë¤ ë³í를 ì£¼ì§ ìì ì´ìë§ì´ì£ ).
리ë¤ì´ë ì 루íë ì¬ì©ì ê²½íì ìì í ë§ì³ë기ì 리ë¤ì´ë ì 루í를 í¼íë ê²ì ëë¨í ì¤ìí©ëë¤.