目次
Cloudflare Pagesの_headersを使用するとどうなるのか?
HTTPのヘッダーをレスポンスに設定することができる。
配置場所
ビルド出力ディレクトリの直下に配置する。
例
ビルド出力ディレクトリが/public
の場合、/public/_headers
に配置する。
Git管理している際の注意点
Cloudflare
側でビルドをする場合、.gitignore
に_headers
を追加していると、Cloudflare
側でヘッダーが設定されない。
.gitignoreの一例
ビルド出力先ディレクトリをpublic
とした場合の.gitignore
の例。
public/*
!public/_headers
!
で_headers
を除外している。
Cloudflare Pages _headersの書き方
基本構文
[url] [name]: [value]
例
ディレクトリ構成
📁/
┣📁path1
┃ ┗📁to
┃ ┗📃file1.md
┃
┣📁path2
┃ ┗📃file2.txt
┃
┣📁path3
┃ ┗📃file3.txt
┃ ┗📃index.html
_headers
/*
X-Frame-Options: DENY
X-Robots-Tag: noindex
/path1/to/*
! X-Frame-Options
/path2/*
Referrer-Policy: no-referrer
/path3/* Access-Control-Allow-Origin: *
結果
アクセス先 | ヘッダー |
---|---|
/index.html | X-Frame-Options: DENY X-Robots-Tag: noindex |
/path1/to/file1.md | X-Robots-Tag: noindex |
/path2/file2.txt | X-Frame-Options: DENY X-Robots-Tag: noindex Referrer-Policy: no-referrer |
/path3/file3.txt | X-Frame-Options: DENY X-Robots-Tag: noindex Access-Control-Allow-Origin: * |
!(エクスクラメーション)
!
を使用することで、ヘッダーを削除することができる。
/*
X-Frame-Options: DENY
X-Robots-Tag: noindex
/path1/to/* ! X-Frame-Options
としていたが、/path1/to/*
にアクセスした場合、X-Frame-Options
が削除される。
使用できるヘッダー例
ヘッダー名 | 説明 |
---|---|
X-Frame-Options | フレームの表示を制御する |
X-Robots-Tag | 検索エンジンのクローラーに対して、ページのインデックスを許可するかどうかを制御する |
Referrer-Policy | リファラー情報の送信を制御する |
Access-Control-Allow-Origin | クロスオリジンリソースのアクセスを許可する |
X-Content-Type-Options | ブラウザがMIMEタイプをスニッフィングしないようにする |
Content-Security-Policy | コンテンツの読み込み元を制御する |
などがある。
ワイルドカード
*
を使用することで、ワイルドカードを使用することができる。