Đặ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
- "Triển khai các rewrite URL tùy chỉnh"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 AnhIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Tài liệu: Hàm getCanonicalPath trong intlayer
Mô tả
Hàm getCanonicalPath giải quyết một đường dẫn URL đã bản địa hóa (ví dụ: /a-propos) trở lại đường dẫn ứng dụng chuẩn nội bộ của nó (ví dụ: /about). Điều này rất quan trọng để router có thể khớp đúng route nội bộ bất kể ngôn ngữ trong URL.
Tính năng chính:
- Hỗ trợ các tham số route động bằng cách sử dụng cú pháp
[param]. - Khớp các đường dẫn đã bản địa hóa với các quy tắc rewrite tùy chỉnh được định nghĩa trong cấu hình của bạn.
- Trả về đường dẫn gốc nếu không tìm thấy quy tắc rewrite phù hợp.
Chữ ký hàm
Sao chép mã vào clipboard
getCanonicalPath( localizedPath: string, // Bắt buộc locale: Locales, // Bắt buộc rewriteRules?: RoutingConfig['rewrite'] // Tùy chọn): stringTham số
Tham số bắt buộc
localizedPath: string- Mô tả: Đường dẫn đã được bản địa hóa như hiển thị trong trình duyệt (ví dụ:
/a-propos). - Kiểu:
string - Bắt buộc: Có
- Mô tả: Đường dẫn đã được bản địa hóa như hiển thị trong trình duyệt (ví dụ:
locale: Locales- Mô tả: Ngôn ngữ (locale) được sử dụng cho đường dẫn đang được giải quyết.
- Kiểu:
Locales - Bắt buộc: Có
Tham số Tuỳ chọ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 về 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.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 về thuộc tính
Trả về
- Kiểu:
string - Mô tả: Đường dẫn canonical nội bộ.
Ví dụ Sử dụng
Sử dụng cơ bản (Với cấu hình)
Nếu bạn đã cấu hình các rewrite tùy chỉnh trong intlayer.config.ts:
Sao chép mã vào clipboard
import { getCanonicalPath, Locales } from "intlayer";// Cấu hình: { '/about': { en: '/about', fr: '/a-propos' } }getCanonicalPath("/a-propos", Locales.FRENCH);// Kết quả: "/about"getCanonicalPath("/about", Locales.ENGLISH);// Kết quả: "/about"Sử dụng với các route động
Sao chép mã vào clipboard
import { getCanonicalPath, Locales } from "intlayer";// Cấu hình: { '/product/[id]': { en: '/product/[id]', fr: '/produit/[id]' } }getCanonicalPath("/produit/123", Locales.FRENCH);// Kết quả: "/product/123"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
import { getCanonicalPath, Locales } from "intlayer";const manualRules = { "/contact": { en: "/contact-us", fr: "/contactez-nous", },};getCanonicalPath("/contactez-nous", Locales.FRENCH, manualRules);// Output: "/contact"Hàm liên quan
getLocalizedPath: Chuyển một canonical path thành đường dẫn đã được bản địa hóa tương ứng.getLocalizedUrl: Tạo một URL hoàn toàn bản địa hóa (bao gồm protocol, host, và tiền tố locale).