CF _headers & _redirects
Cloudflare Pages&エッジネットワーキング

Cloudflare Pages & Workers _headers / _redirects ジェネレーター

Cloudflare Pagesの _headers および _redirects 構成、セキュリティヘッダーポリシー、エッジリライティングルールの開発者向け構文リファレンス。

100% クライアント側プライバシー
サーバー送信ゼロ
プリセット:

ヘッダーパスマッピング

3 個のスコープ
パスパターン:
クイック挿入:
:
:
:
:
:
:
:

URLリダイレクトルール

3 件のルール
→
Condition:
→
Condition:
→
Condition:
# Cloudflare Pages _headers configuration
# Generated with ToolsAA (https://toolsaa.com)
# Docs: https://developers.cloudflare.com/pages/configuration/headers/

# Global root security headers
/*
  Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  X-Frame-Options: DENY
  X-Content-Type-Options: nosniff
  Referrer-Policy: strict-origin-when-cross-origin
  Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
  Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://challenges.cloudflare.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https:; frame-ancestors 'none'; base-uri 'self'; form-action 'self';
  Cross-Origin-Opener-Policy: same-origin

# Long-term immutable static caching
/assets/*
  Cache-Control: public, max-age=31536000, immutable

# REST API CORS policies
/api/*
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With
  Cache-Control: no-store, no-cache, must-revalidate
パスマッピング数
3 個の有効パス

ルートおよび静的フォルダ全体のワイルドカードパターンに一致。

設定ディレクティブ数
12 ヘッダー + 3 リダイレクト

フラットなプレーンテキストのエッジ構成ファイルに合成されます。

セキュリティ評価
A+ (100/100)

HSTS、CSP、X-Frame-Options、および循環リダイレクトを評価。

100% クライアントサイド完全秘匿

すべてのヘッダーコンパイル、CSP構文解析、リダイレクト生成はブラウザ内部でのみ実行され、外部サーバーへの通信は一切行われません。

Cloudflare Edge仕様・RFC完全準拠

Cloudflare Pages公式_headersおよび_redirects仕様、ワイルドカードスプラット(:splat)、強制オーバーライド(!)構文を忠実にサポートします。

マルチクラウド設定エクスポート

Pages単体ファイルだけでなく、TypeScript型定義付きCloudflare WorkersコードやNext.js next.config.js形式にもワンクリックで相互変換可能です。

技術リファレンス&アーキテクチャガイド

Cloudflare Headers & Redirects 生成ツール — リファレンスガイド

Cloudflare Pagesの _headers および _redirects 構成、セキュリティヘッダーポリシー、エッジリライティングルールの開発者向け構文リファレンス。

主要パラメータ&設定項目

sourcestring

_redirects でリクエストを照合するためのパスパターン。ワイルドカード(*)、スプラット(:splat)、プレースホルダー(:slug)をサポートします。

初期値: /*
targetstring

リダイレクト先またはリライト先のURLもしくはルート相対パス。一致したスプラットやURLトークンを渡すことができます。

初期値: /:splat
status301 | 302 | 307 | 308 | 200

Cloudflareエッジが返すHTTPステータスコード。200は内部リライト(SPAルーティング)、301/308は恒久的なリダイレクトを実行します。

初期値: 301
forceboolean

有効化すると、要求元パスに物理的な静的ファイルが存在する場合でもリダイレクトルールを強制適用します(200! や 301! 形式)。

初期値: false
pathstring

_headers 内で適用対象のクライアントリクエストを特定するためのURLパスプレフィックスまたはglobパターン。

初期値: /*

プロの活用テクニック&推奨設定

SPAの強制リライトフラグ設定

SPAフォールバック (/* /index.html 200) を設定する際、静的ファイルの探索よりHTMLリライトを優先させるにはステータス末尾に ! を付加して 200! と定義します。

Pagesのルール上限数の最適化

Cloudflare Pagesでは _headers は最大100ルール、_redirects は最大2,000行に制限されています。/assets/* などのワイルドカードで共通化し上限超過を防ぎます。

Splat構文によるパス転送の活用

/* /archive/:splat 301 のようにスプラットを使用すると、ワイルドカードに一致したパスセグメントをターゲットにそのまま引き継ぎ、ルール数を大幅に削減できます。

よくあるトラブルと解決策

静的ファイルが優先され200リライトが実行されない

Cloudflare Pagesはデフォルトでリダイレクトルールよりも実在する静的アセットを優先配信します。force: true を有効にしてステータスコードに感嘆符(200!)を付与することで、静的ファイルの優先を無効化できます。

Cloudflareの100ルール制限によりヘッダーが欠落する

Cloudflare Pagesの _headers は100ルールを超えるとそれ以降の行が無視されます。共通セキュリティヘッダー(HSTS、CSP、X-Frame-Options)を /* に集約し、静的アセットヘッダーを /assets/* に統合してください。

よくある質問 (FAQ)

_headers と _redirects ファイルはプロジェクト内のどこに配置すべきですか?▼

両ファイルとも、Cloudflare Pagesにデプロイされるビルド出力ディレクトリ(公開ディレクトリ、例: dist/、out/、build/)のルートに配置する必要があります。リポジトリのルートのみに置いた場合、ビルド成果物に含まれず機能しません。

301リダイレクトと200リライトの動作上の違いは何ですか?▼

301リダイレクトはクライアントブラウザにHTTP 301ステータスを返し、ブラウザのアドレスバーが遷移先URLに変わります。一方、200ステータスはエッジ内部で指定先(例: /index.html)のコンテンツを取得して配信し、ブラウザのURL表示を維持するためSPAのルーティングに不可欠です。

同一パスに対して複数のヘッダー定義が競合した場合はどう処理されますか?▼

Cloudflare Pagesは _headers ファイルを上から下の順に評価します。より詳細なパスマターンが自動的に汎用パターンを上書きするのではなくマージされますが、同一ヘッダー名が重複定義されている場合はファイルの下流(後)に定義された値が優先されます。

Cloudflare Pagesの _redirects は正規表現(RegEx)に対応していますか?▼

いいえ、_redirects ファイルは完全な正規表現には対応していません。ワイルドカード(*)、スプラット(:splat)、名前付きプレースホルダー(:id)によるパターンマッチのみサポートされています。複雑な正規表現ルーティングが必要な場合はCloudflare WorkersまたはPages Functionsへ移行してください。

関連するおすすめ開発ツール

すべてのツール →
Vercel.json 設定・アーキテクチャ開発ツール

エッジルーティング、リライト、セキュリティヘッダー、サーバーレス関数、Cron設定を網羅したvercel.jsonの実務開発者向けリファレンス。

ツールを開く→
ESLint Flat Config (eslint.config.mjs) インタラクティブビルダー開発ツール

TypeScript、React、Next.js、Vue、Prettier、カスタムルールに対応した最新のESLint 9+ フラット設定ファイル(eslint.config.mjs / .js)をブラウザ上で安全に生成します。

ツールを開く→
SemVer範囲・バージョン適合性テスター開発ツール

セマンティック バージョニング(SemVer)範囲(キャレット ^、チルダ ~、ハイフン範囲、X-Range、プレリリース)をテストし、パッケージバージョンの適合性をリアルタイムに検証します。

ツールを開く→
Crontab 表現式解析・スケジュール自動生成ツール開発ツール

POSIXおよびVixie cron式の構文解析、バリデーション、次回実行日時の算出を行う開発者向けリファレンス。

ツールを開く→
正規表現チェッカー・リアルタイムRegExテスター開発ツール

developer向け正規表現テスターユーティリティ。

ツールを開く→
URLエンコード・デコードツール開発ツール

RFC 3986厳格規格、encodeURIComponent、encodeURI、formUrlEncodedに対応した高速・安全な双方向URL変換ツール。

ツールを開く→