Author:
    Creation:2025-08-23Last update:2025-08-23

    useRewriteURL рд╣реБрдХ

    useRewriteURL рд╣реБрдХ SolidJS рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдкрд░ рд╕реНрдерд╛рдиреАрдпрдХреГрдд URL рд░реАрд░рд╛рдЗрдЯреНрд╕ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╡рд░реНрддрдорд╛рди locale рдФрд░ intlayer.config.ts рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ URL рдХреЛ рдЙрд╕рдХреЗ "pretty" рд╕реНрдерд╛рдиреАрдпрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрд╡рддрдГ рд╕реБрдзрд╛рд░ рджреЗрддрд╛ рд╣реИред

    window.history.replaceState рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ Solid Router рдиреЗрд╡рд┐рдЧреЗрд╢рдиреЛрдВ рд╕реЗ рдмрдЪрддрд╛ рд╣реИред

    рдЙрдкрдпреЛрдЧ

    рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХрд┐рд╕реА component (рдШрдЯрдХ) рдХреЗ рднреАрддрд░ рдЗрд╕ рд╣реБрдХ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред

    tsx
    import { useRewriteURL } from "solid-intlayer";
    
    const Layout = (props) => {
      // рдпрджрд┐ рдХреЛрдИ рдкреБрдирд░реНрд▓реЗрдЦрди рдирд┐рдпрдо рдореМрдЬреВрдж рд╣реИ рддреЛ рдкрддрд╛ рдмрд╛рд░ рдореЗрдВ /fr/tests рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ /fr/essais рд╕реЗ рдареАрдХ рдХрд░реЗрдВ
      useRewriteURL();
    
      return <>{props.children}</>;
    };
    

    рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

    1. рдкрд╣рдЪрд╛рди: рдпрд╣ рд╣реБрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ locale() рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП createEffect рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
    2. рдореЗрд▓ рдЦреЛрдЬрдирд╛: рдпрд╣ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди window.location.pathname рдХрд┐рд╕реА canonical route рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рднрд╛рд╖рд╛ рдХрд╛ prettier localized alias рдореМрдЬреВрдж рд╣реИред
    3. URL рд╕реБрдзрд╛рд░: рдпрджрд┐ рдХреЛрдИ prettier alias рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рд╣реБрдХ window.history.replaceState рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкрддрд╛ рдмрд╛рд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдмрд┐рдирд╛ рдЖрдВрддрд░рд┐рдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕реНрдЯреЗрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдпрд╛ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЗ рдкреБрдирдГ-рд░реЗрдВрдбрд░ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗред

    рдЗрд╕реЗ рдХреНрдпреЛрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ?

    • рдкреНрд░рдорд╛рдгрд┐рдХ URLs: рдЖрдкрдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХрд▓ URL рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ SEO рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
    • рдбреЗрд╡рд▓рдкрд░ рд╕реБрд╡рд┐рдзрд╛: рдпрд╣ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЖрдВрддрд░рд┐рдХ рд░реВрдЯ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ canonical рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЕрдиреБрдХреВрд▓, рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдкрде рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
    • рд╕рдВрдЧрддрд┐: рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдкрде рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреА рдкреНрд░рд╛рдердорд┐рдХ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддрд╛, рддреЛ рдпрд╣ URL рдХреЛ рд╕рд╣реА рдХрд░рддрд╛ рд╣реИред