INTEGRITY Документация

Перенаправления

Чтобы применить пользовательские редиректы в Cloudflare Pages, укажите их в текстовом файле с именем _redirects без расширения файла, в директории статических ресурсов вашего проекта. Сам этот файл не будет обслуживаться как статический ресурс, а будет обработан Cloudflare Pages, и его правила будут применяться к ответам со статическими ресурсами.

Если вы используете фреймворк, у вас часто будет каталог с именем public/ или static/, и обычно содержит готовые к развёртыванию ресурсы, такие как favicon, robots.txt файлы и манифесты сайта. Эти файлы копируются в итоговый выходной каталог во время сборки, поэтому это идеальное место для написания ваших _redirects файле. Если вы не используете фреймворк, _redirects файл можно поместить прямо в ваш каталог вывода сборки.

Структура

За строку

На каждой строке допускается только один редирект, и он должен соответствовать этому формату, иначе будет проигнорирован.

[source] [destination] [code?]

Строки, начинающиеся с # будут считаться комментариями.

За файл

A _redirects файл ограничен 2,000 статическими редиректами и 100 динамическими редиректами, то есть в сумме не более 2,100 редиректов. Каждое объявление редиректа ограничено 1,000 символами.

В вашем _redirects файле:

Полный пример с несколькими редиректами может выглядеть следующим образом:

/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

Расширенные перенаправления

На данный момент Cloudflare предлагает ограниченную поддержку расширенных редиректов.

Возможность Поддержка Пример Примечания
Перенаправления (301, 302, 303, 307, 308) /home / 301 По умолчанию используется код состояния 302.
Перезаписи (другие коды состояния) /blog/* /blog/404.html 404
Splats /blog/* /posts/:splat См. Splats.
Заполнители /blog/:year/:month/:date/:slug /news/:year/:month/:date/:slug См. Заполнители.
Параметры запроса /shop id=:id /blog/:id 301
Проксирование /blog/* /news/:splat 200 См. Проксирование.
Перенаправления на уровне домена workers.example.com/* workers.example.com/blog/:splat 301
Перенаправление по стране или языку / /us 302 Country=us
Перенаправление по cookie /\* /preview/:splat 302 Cookie=preview

Перенаправления и сопоставление заголовков

Перенаправления выполняются раньше заголовков, поэтому если запрос соответствует правилам в обоих файлах, перенаправление будет иметь приоритет.

Splats

При совпадении splat (звёздочка, *) жадно соответствует всем символам. В URL можно указать только один splat.

Совпавшее значение можно использовать в адресе перенаправления с помощью :splat.

Заполнители

Плейсхолдер можно определить с помощью :placeholder_name. Двоеточие (:) с последующей буквой обозначает начало плейсхолдера, и имя плейсхолдера после неё должно состоять из буквенно-цифровых символов и символов подчёркивания (:[A-Za-z]\w*). На каждый именованный заполнитель можно ссылаться только один раз. Заполнители соответствуют всем символам, кроме разделителя, которым в составе хоста является точка (.) или косую черту (/) и может быть только косой чертой (/) если она является частью пути.

Аналогично, совпавшее значение можно использовать в значениях перенаправления с помощью :placeholder_name.

/movies/:title /media/:title

Проксирование

Проксирование поддерживает только относительные URL-адреса на вашем сайте. Проксирование внешних доменов невозможно.

Применяется только первый редирект в вашем файле. Например, в приведенном ниже примере запрос к /a отобразит /b, и запрос к /b отобразит /c, но /a не будет отображать /c.

/a /b 200
/b /c 200

Превышает _redirects лимиты

A _redirects файл поддерживает не более 2,000 статических редиректов и 100 динамических редиректов, то есть в сумме не более 2,100 редиректов. Используйте Bulk Redirects для обработки перенаправлений, если их количество превышает лимит в 2,100 правил перенаправления, действующий в _redirects.

Чтобы использовать Bulk Redirects, см. Документация панели управления Bulk Redirects или Документация по API Bulk Redirects.