INTEGRITY Dokumentace

Přesměrování

Chcete-li na Workeru se statickými assets použít vlastní přesměrování, deklarujte je v textovém souboru s názvem _redirects bez přípony souboru v adresáři statických prostředků vašeho projektu. Tento soubor se sám o sobě neposkytuje jako statický prostředek, ale zpracuje ho Workers a jeho pravidla se použijí na odpovědi statických prostředků.

Pokud používáte framework, budete mít často adresář s názvem public/ nebo static/, a obvykle obsahuje assety připravené k nasazení, jako jsou favicony, robots.txt soubory a manifesty webu. Tyto soubory se během sestavení zkopírují do výsledného výstupního adresáře, takže je to ideální místo pro vytváření vašich _redirects soubor. Pokud nepoužíváte framework, _redirects soubor můžete vložit přímo do adresář statických aktiv.

Struktura

Podle řádku

Na jednom řádku lze definovat pouze jedno přesměrování, které musí mít tento formát, jinak bude ignorováno.

[source] [destination] [code?]

Řádky začínající # budou považovány za komentáře.

Podle souboru

A _redirects soubor je omezen na 2,000 statických přesměrování a 100 dynamických přesměrování, tedy dohromady nejvýše 2,100 přesměrování. Každá deklarace přesměrování má limit 1,000 znaků.

Ve vašem _redirects soubor:

Kompletní příklad s více přesměrováními může vypadat takto:

/home301 / 301
/home302 / 302
/querystrings /?query=string 301
/twitch https://twitch.tv
/trailing /trailing/ 301
/notrailing/ /nottrailing 301
/page/ /page2/#fragment 301
/blog/* https://blog.my.domain/:splat
/products/:code/:name /products?code=:code&name=:name

Pokročilá přesměrování

Cloudflare v současnosti nabízí omezenou podporu pro pokročilá přesměrování.

Funkce Podpora Příklad Poznámky
Přesměrování (301, 302, 303, 307, 308) /home / 301 Jako výchozí stavový kód se používá 302.
Přepisy (jiné stavové kódy) /blog/* /blog/404.html 404
Splaty /blog/* /posts/:splat Viz Splaty.
Zástupné symboly /blog/:year/:month/:date/:slug /news/:year/:month/:date/:slug Viz Zástupné symboly.
Parametry dotazu /shop id=:id /blog/:id 301
Proxování /blog/* /news/:splat 200 Viz Proxování.
Přesměrování na úrovni domény workers.example.com/* workers.example.com/blog/:splat 301
Přesměrování podle země nebo jazyka / /us 302 Country=us
Přesměrování podle cookie /\* /preview/:splat 302 Cookie=preview

Přesměrování a shoda hlaviček

Přesměrování se provádí před hlavičkami, takže pokud požadavek odpovídá pravidlům v obou souborech, přesměrování má přednost.

Splaty

Při shodě splat (hvězdička, *) hladově porovná všechny znaky. V URL smíte použít jen jeden splat.

Nalezenou hodnotu lze použít v cíli přesměrování s :splat.

Zástupné symboly

Zástupný symbol lze definovat pomocí :placeholder_name. Dvojtečka (:) následovaný písmenem označuje začátek zástupného symbolu a název zástupného symbolu, který následuje, smí obsahovat pouze alfanumerické znaky a podtržítka (:[A-Za-z]\w*). Na každý pojmenovaný zástupný symbol lze odkázat jen jednou. Zástupné symboly odpovídají všem znakům kromě oddělovače, kterým je v případě hostitele tečka (.) nebo lomítko (/) a smí to být pouze lomítko (/) pokud je součástí cesty.

Podobně lze shodnutou hodnotu použít v hodnotách přesměrování pomocí :placeholder_name.

/movies/:title /media/:title

Proxování

Proxování na vašem webu podporuje pouze relativní URL adresy. Externí domény proxovat nelze.

Použije se pouze první přesměrování ve vašem souboru. Například v následujícím příkladu požadavek na /a vykreslí /b, a požadavek na /b vykreslí /c, ale /a nezobrazí /c.

/a /b 200
/b /c 200

Překročit _redirects limity

A _redirects soubor má maximálně 2,000 statických přesměrování a 100 dynamických přesměrování, tedy dohromady nejvýše 2,100 přesměrování. Použijte Bulk Redirects ke zpracování přesměrování, které překračuje limit 2,100 pravidel přesměrování v _redirects.

Chcete-li používat Bulk Redirects, přečtěte si Dokumentace dashboardu pro Bulk Redirects nebo Dokumentace API pro Bulk Redirects.