Đặ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
Lịch sử phiên bản
- "Implement custom URL rewrites"v8.0.022/1/2026
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 AnhNế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 Markdown của tài liệu vào bộ nhớ tạm
Tài liệu: hàm getLocalizedPath trong intlayer
Mô tả
Hàm getLocalizedPath chuyển đổi một canonical path (đường dẫn nội bộ của ứng dụng) thành phiên bản đã được địa phương hóa dựa trên locale và các quy tắc rewrite được cung cấp. Hàm này đặc biệt hữu ích để tạo các URL thân thiện với SEO thay đổi theo ngôn ngữ.
Đây là đối tác tương đối của getLocalizedUrl — đối với input tương đối, cả hai đều trả về giá trị giống nhau. Không giống như getLocalizedUrl, nó không bao giờ trả về URL tuyệt đối: cấu hình domains bị bỏ qua, vì vậy một locale được phục vụ từ domain của nó vẫn tạo ra một đường dẫn. Input tuyệt đối được chấp nhận, nhưng nguồn gốc của nó bị loại bỏ — chỉ đường dẫn, chuỗi truy vấn và hash được giữ lại.
Tính năng chính:
- Hỗ trợ tham số route động bằng cú pháp
[param]. - Phân giải đường dẫn theo các quy tắc rewrite tùy chỉnh được định nghĩa trong cấu hình của bạn.
- Tự động dự phòng về đường dẫn canonical nếu không tìm thấy quy tắc rewrite cho locale được chỉ định.
Chữ ký hàm
Sao chép mã vào clipboard
Tham số
Tham số bắt buộc
canonicalPath: string- Mô tả: Đường dẫn nội bộ của ứng dụng (ví dụ:
/about,/product/[id]). - Kiểu:
string - Bắt buộc: Có
- Mô tả: Đường dẫn nội bộ của ứng dụng (ví dụ:
Tham số tùy chọn
locale?: Locales- Description: Ngôn ngữ đích mà đường dẫn sẽ được địa phương hóa.
- Type:
Locales - Default: Ngôn ngữ mặc định của cấu hình dự án của bạn.
rewriteRules?: RoutingConfig['rewrite']- Mô tả: Một đối tượng định nghĩa các quy tắc rewrite tùy chỉnh. Nếu không được cung cấp, nó mặc định là thuộc tính
routing.rewritetừ cấu hình dự án của bạn. - Kiểu:
RoutingConfig['rewrite'] Mặc định:
configuration.routing.rewriteoptions.locales?: Locales[]— các locale được hỗ trợ. Default:configuration.internationalization.localesoptions.defaultLocale?: Locales— locale mặc định. Default:configuration.internationalization.defaultLocaleoptions.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'— cách locale xuất hiện trong đường dẫn. Default:configuration.routing.modeoptions.rewrite?: RoutingConfig['rewrite']— các quy tắc rewrite tùy chỉnh. Default:configuration.routing.rewrite
- Mô tả: Một đối tượng định nghĩa các quy tắc rewrite tùy chỉnh. Nếu không được cung cấp, nó mặc định là thuộc tính
Trả về
- Kiểu:
string - Mô tả: Đường dẫn đã được nội địa hóa cho locale được chỉ định.
Kiểu được thu hẹp từ các quy tắc rewrite được khai báo trong cấu hình của bạn, vì vậy trình chỉnh sửa hiển thị đường dẫn đã được giải quyết thay vì một string đơn thuần:
Sao chép mã vào clipboard
Cùng một narrowing này chảy vào getLocalizedUrl, áp dụng các quy tắc rewrite trước khi thêm tiền tố locale.
Hai trường hợp vẫn được mở rộng thành string, vì chúng không thể được giải quyết tại thời điểm biên dịch:
- a path that is not a string literal (e.g. one built from a variable);
- a path matched by a rule using a multi-segment or optional parameter (
[...slug],[[...slug]],:param?).
Ví dụ sử dụng
Sử dụng cơ bản (Có cấu hình)
Nếu bạn đã cấu hình các rewrite tùy chỉnh trong intlayer.config.ts của mình:
Sao chép mã vào clipboard
Sử dụng với đường dẫn động
Sao chép mã vào clipboard
Quy tắc rewrite thủ công
Bạn cũng có thể truyền các quy tắc rewrite thủ công vào hàm:
Sao chép mã vào clipboard
Bỏ qua Locale
Khi không có locale nào được cung cấp, đường dẫn được bản địa hóa cho locale mặc định được cấu hình:
Sao chép mã vào clipboard
Các hàm liên quan
getCanonicalPath: Giải quyết một đường dẫn được bản địa hóa trở về đường dẫn chuẩn nội bộ (canonical) của nó.getLocalizedUrl: Tạo một URL được bản địa hóa đầy đủ (bao gồm protocol, host và tiền tố locale).
