Ngày tạo:2025-08-23Cập nhật lần cuối:2025-08-23
Tham chiếu tài liệu này tới trợ lý AI yêu thích của bạnChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
Đặt câu hỏi và nhận tóm tắt tài liệu bằng cách tham chiếu trang này và nhà cung cấp AI bạn chọn
Nội dung của trang này đã được dịch bằng AI.
Xem phiên bản mới nhất của nội dung gốc bằng tiếng AnhChỉnh sửa tài liệu này
Nếu bạn có ý tưởng để cải thiện tài liệu này, vui lòng đóng góp bằng cách gửi pull request trên GitHub.
Liên kết GitHub tới tài liệuSao chép
Sao chép Markdown của tài liệu vào bộ nhớ tạm
Hook useRewriteURL
Hook useRewriteURL cho SolidJS được thiết kế để quản lý việc viết lại URL theo ngôn ngữ ở phía client. Nó tự động chỉnh sửa URL trên trình duyệt thành phiên bản "đẹp" được địa phương hóa dựa trên locale hiện tại và cấu hình trong intlayer.config.ts.
Bằng cách sử dụng window.history.replaceState, nó tránh được các điều hướng thừa của Solid Router.
Cách sử dụng
Gọi hook này bên trong một component thuộc ứng dụng của bạn.
Cách nó hoạt động
- Phát hiện: Hook sử dụng
createEffectđể theo dõi thay đổi trong reactivelocale(). - So khớp: Nó xác định xem
window.location.pathnamehiện tại có tương ứng với một canonical route mà có một bí danh được bản địa hóa "đẹp hơn" cho ngôn ngữ hiện tại hay không. - Sửa URL: Nếu tìm thấy một bí danh đẹp hơn, hook gọi
window.history.replaceStateđể cập nhật thanh địa chỉ mà không ảnh hưởng đến trạng thái điều hướng nội bộ hoặc gây render lại các component.
Tại sao nên sử dụng nó?
- Authoritative URLs: Thiết lập một URL duy nhất cho mỗi phiên bản nội dung được bản địa hóa, điều này rất quan trọng cho SEO.
- Developer Convenience: Cho phép bạn giữ các định nghĩa route nội bộ ở dạng canonical trong khi hiển thị các đường dẫn đã được bản địa hóa, thân thiện với người dùng ra bên ngoài.
- Consistency: Sửa URL khi người dùng nhập thủ công một đường dẫn không tuân theo các quy tắc bản địa hóa ưu tiên của bạn.