์ž‘๊ฐ€:
    ์ƒ์„ฑ:2025-08-23๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ:2026-09-27

    useRewriteURL ํ›…

    useRewriteURL ํ›…์€ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์ง€์—ญํ™”๋œ URL ์žฌ์ž‘์„ฑ์„ ๊ด€๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ›…์€ ์‚ฌ์šฉ์ž์˜ locale๊ณผ intlayer.config.ts์— ์ •์˜๋œ ์žฌ์ž‘์„ฑ ๊ทœ์น™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ˜„์žฌ URL์ด ๋ณด๊ธฐ ์ข‹์€(pretty) ์ง€์—ญํ™”๋œ ๋ฒ„์ „์œผ๋กœ ๋ณด์ •๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.

    ์ผ๋ฐ˜์ ์ธ ๋„ค๋น„๊ฒŒ์ด์…˜๊ณผ ๋‹ฌ๋ฆฌ, ์ด ํ›…์€ ์ „์ฒด ํŽ˜์ด์ง€ ๋ฆฌ๋กœ๋“œ๋‚˜ ๋ผ์šฐํ„ฐ ๋„ค๋น„๊ฒŒ์ด์…˜ ์‚ฌ์ดํด์„ ํŠธ๋ฆฌ๊ฑฐํ•˜์ง€ ์•Š๊ณ  ์ฃผ์†Œ ํ‘œ์‹œ์ค„์˜ URL์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด window.history.replaceState๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ์‚ฌ์šฉ๋ฒ•

    ํด๋ผ์ด์–ธํŠธ ์ธก ์ปดํฌ๋„ŒํŠธ์—์„œ ํ›…์„ ํ˜ธ์ถœํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

    tsx
    import { useRewriteURL } from "react-intlayer";
    
    const MyComponent = () => {
      // ๋ฆฌ๋ผ์ดํŠธ ๊ทœ์น™์ด ์กด์žฌํ•˜๋ฉด ์ฃผ์†Œ ํ‘œ์‹œ์ค„์˜ /fr/tests๋ฅผ /fr/essais๋กœ ์ž๋™์œผ๋กœ ๊ต์ •ํ•ฉ๋‹ˆ๋‹ค
      useRewriteURL();
    
      return <div>My Component</div>;
    };
    

    ์ž‘๋™ ๋ฐฉ์‹

    1. ๊ฐ์ง€: ํ›…์€ ํ˜„์žฌ window.location.pathname๊ณผ ์‚ฌ์šฉ์ž์˜ locale์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.
    2. ๋งค์นญ: ๋‚ด๋ถ€ Intlayer ์—”์ง„์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ pathname์ด ํ˜„์žฌ locale์— ๋Œ€ํ•ด ๋” ๋ณด๊ธฐ ์ข‹์€ ๋กœ์ปฌ๋ผ์ด์ฆˆ๋œ ๋ณ„์นญ์„ ๊ฐ–๋Š” canonical ๊ฒฝ๋กœ์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    3. URL ์ˆ˜์ •: ๋” ๋‚˜์€ ๋ณ„์นญ์ด ๋ฐœ๊ฒฌ๋˜์—ˆ๊ณ (ํ˜„์žฌ ๊ฒฝ๋กœ์™€ ๋‹ค๋ฅผ ๊ฒฝ์šฐ), ํ›…์€ ๋™์ผํ•œ canonical ์ฝ˜ํ…์ธ ์™€ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ธŒ๋ผ์šฐ์ € URL์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด window.history.replaceState๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

    ์™œ ์‚ฌ์šฉํ•˜๋‚˜์š”?

    • SEO: ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ์–ธ์–ด์— ๋Œ€ํ•ด ํ•ญ์ƒ ๋‹จ์ผํ•˜๊ณ  ๊ถŒ์œ„ ์žˆ๋Š” pretty URL๋กœ ๋„๋‹ฌํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
    • ์ผ๊ด€์„ฑ: ์‚ฌ์šฉ์ž๊ฐ€ ์ •์‹ ๊ฒฝ๋กœ(์˜ˆ: /fr/privacy-notice)๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ž…๋ ฅํ•˜์—ฌ ์ง€์—ญํ™”๋œ ๋ฒ„์ „(/fr/politique-de-confidentialite) ๋Œ€์‹  ์ ‘์†ํ•˜๋Š” ๋ถˆ์ผ์น˜๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
    • ์„ฑ๋Šฅ: ์ฃผ์†Œ ํ‘œ์‹œ์ค„์„ ์—…๋ฐ์ดํŠธํ•˜๋˜ ์›์น˜ ์•Š๋Š” ๋ผ์šฐํ„ฐ ๋ถ€์ž‘์šฉ(router side-effects)์ด๋‚˜ ์ปดํฌ๋„ŒํŠธ ์žฌ๋งˆ์šดํŠธ(re-mounts)๋ฅผ ์œ ๋ฐœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.