Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Historia wersji
- "Implement custom URL rewrites"v8.0.022.01.2026
Treść tej strony została przetłumaczona przy użyciu sztucznej inteligencji.
Zobacz ostatnią wersję oryginalnej treści w języku angielskimJeśli masz pomysł na ulepszenie tej dokumentacji, zachęcamy do przesłania pull requesta na GitHubie.
Link do dokumentacji na GitHubieKopiuj dokument Markdown do schowka
Dokumentacja funkcji getLocalizedPath w intlayer
Opis
Funkcja getLocalizedPath przekształca kanoniczną ścieżkę (wewnętrzną ścieżkę aplikacji) w jej zlokalizowany odpowiednik na podstawie podanego locale i reguł przepisywania (rewrite rules). Jest szczególnie przydatna do generowania przyjaznych dla SEO adresów URL, które różnią się w zależności od języka.
To względny odpowiednik getLocalizedUrl — dla względnych danych wejściowych oba zwracają tę samą wartość. W przeciwieństwie do getLocalizedUrl, nigdy nie zwraca absolutnego URL: konfiguracja domains jest ignorowana, więc locale obsługiwane z własnej domeny nadal zwraca ścieżkę. Absolutne dane wejściowe są akceptowane, ale ich pochodzenie jest odrzucane — przechowywane są tylko ścieżka, ciąg zapytania i hash.
Główne cechy:
- Obsługuje dynamiczne parametry tras przy użyciu składni
[param]. - Rozwiązuje ścieżki zgodnie z niestandardowymi regułami przepisywania zdefiniowanymi w Twojej konfiguracji.
- Automatycznie obsługuje powrót do ścieżki kanonicznej, jeśli dla określonego locale nie zostanie znaleziona reguła przepisywania.
Sygnatura funkcji
Skopiuj kod do schowka
Parametry
Parametry wymagane
canonicalPath: string- Opis: Wewnętrzna ścieżka aplikacji (np.
/about,/product/[id]). - Typ:
string - Wymagane: Tak
- Opis: Wewnętrzna ścieżka aplikacji (np.
Opcjonalne parametry
locale?: Locales- Description: Docelowy język, dla którego ścieżka powinna być zlokalizowana.
- Type:
Locales - Default: Domyślny język konfiguracji Twojego projektu.
rewriteRules?: RoutingConfig['rewrite']- Opis: Obiekt definiujący niestandardowe reguły przepisywania. Jeśli nie zostanie podany, domyślnie używana jest właściwość
routing.rewritez konfiguracji projektu. - Typ:
RoutingConfig['rewrite'] Domyślnie:
configuration.routing.rewriteoptions.locales?: Locales[]— obsługiwane locales. Domyślnie:configuration.internationalization.localesoptions.defaultLocale?: Locales— locale domyślny. Domyślnie:configuration.internationalization.defaultLocaleoptions.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'— jak locale pojawia się w ścieżce. Domyślnie:configuration.routing.modeoptions.rewrite?: RoutingConfig['rewrite']— niestandardowe reguły rewrite. Domyślnie:configuration.routing.rewrite
- Opis: Obiekt definiujący niestandardowe reguły przepisywania. Jeśli nie zostanie podany, domyślnie używana jest właściwość
Zwraca
- Typ:
string - Opis: Zlokalizowana ścieżka dla podanego locale.
Typ jest zawężany na podstawie reguł przepisywania zadeklarowanych w konfiguracji, więc edytor pokazuje rozpoznaną ścieżkę zamiast zwykłego string:
Skopiuj kod do schowka
To samo zawężenie trafia do getLocalizedUrl, która stosuje reguły przepisywania przed dodaniem prefiksu locale'a.
Dwa przypadki pozostają poszerzone do string, ponieważ nie mogą być rozwiązane w czasie kompilacji:
- ścieżka, która nie jest literałem łańcucha (np. zbudowana ze zmiennej);
- ścieżka dopasowana przez regułę używającą parametru wielosegmentowego lub opcjonalnego (
[...slug],[[...slug]],:param?).
Przykład użycia
Podstawowe użycie (z konfiguracją)
Jeśli w swoim intlayer.config.ts skonfigurowałeś niestandardowe rewrites:
Skopiuj kod do schowka
Użycie z trasami dynamicznymi
Skopiuj kod do schowka
Ręczne reguły przepisywania
Możesz również przekazać ręczne reguły przepisywania do funkcji:
Skopiuj kod do schowka
Pomijanie ustawień regionalnych
Gdy nie podano ustawień regionalnych, ścieżka jest lokalizowana dla skonfigurowanego domyślnego ustawienia regionalnego:
Skopiuj kod do schowka
Powiązane funkcje
getCanonicalPath: Rozwiązuje zlokalizowaną ścieżkę z powrotem na jej wewnętrzną ścieżkę kanoniczną.getLocalizedUrl: Generuje w pełni zlokalizowany adres URL (włączając protokół, host i prefiks lokalizacji).
