時間指定でサイトの表示を404やメンテナンス表示にできますか?
404やメンテナンス用の静的ファイルを設置して、時間指定でデプロイリクエストを送ることで対応できます。
メンテナンス表示のスケジュール設定やパス単位でのアクセス制限など、より高度な制御が必要な場合はKurocoEdgeの利用もご検討ください。KurocoEdgeではスケジュール設定によるメンテナンスページの表示切替が可能です。
以下では、KurocoFrontのデプロイ機能を使って対応する方法を紹介します。
事前準備
1. デプロイ用ZIPファイルの作成
404表示にする場合は、kuroco_front.jsonのみを含むZIPファイルを作成します(デプロイしたサイトの表示を404に戻すことはできますか?)。
404_deploy.zip
└── kuroco_front.json
メンテナンス表示にする場合は、メンテナンスページ用のHTMLファイルとkuroco_front.jsonを含むZIPファイルを作成します。
2. ZIPファイルの設置
作成したZIPファイルをKurocoFiles等にアップロードします。
3. デプロイに必要な情報の確認
「GitHubを使用せずにKurocoFrontにデプロイできますか?」を参考に、以下の情報を確認してください。
- APIエンドポイント(例:
https://sitekey.g.kuroco.app) - KurocoFrontのドメイン(例:
sitekey.g.kuroco-front.app) - フロントエンドドメインのSHA1ハッシュ値
- ZIPファイルのダウンロードURL
- KurocoFront設定のtoken
デプロイリクエストの送信
指定の日時に、以下のようなcurlコマンドでデプロイリクエストを送信します。
endpoint="https://sitekey.g.kuroco.app"
domain="sitekey.g.kuroco-front.app"
hash="****************************************"
storage_url="https://sitekey.g.kuroco-img.app/files/user/deploy_file/404_deploy.zip"
token="************************************"
curl -X POST "${endpoint}/direct/menu/github/" \
-H 'Content-Type: application/json;charset=utf-8' \
-H "X-Kuroco-Auth: token ${token}" \
-d "{\"data\":{\"domain\":\"${domain}\", \"hash\":\"${hash}\",\"storage_url\":\"${storage_url}\"}}"
サイトを復元する場合は、GitHub Actionsを実行して連携されたGitHubの成果物をデプロイしてください。
また、通常の成果物のZIPファイルを別途用意し、同様のデプロイリクエストを送信する方法でも構いません。
Kurocoのバッチ処理でデプロイリクエストを実行する場合
デプロイリクエストをKurocoのバッチ処理で実行することもできます。バッチ処理を作成し、実行タイミングを「毎日」に設定して、dateのSmartyプラグインで日時を判定することで、指定の日時にデプロイを自動実行できます。
特定の日付に404表示にする例
{* 指定日付以外はスキップ *}
{date var='today' time='now' format='Y-m-d'}
{if $today != '2026-03-15'}
{return}
{/if}
{* 変数の設定 *}
{assign var="endpoint" value="https://sitekey.g.kuroco.app"}
{assign var="domain" value="sitekey.g.kuroco-front.app"}
{rcms_hash var='hash' data='domain' algo='SHA1'}
{assign var="storage_url" value="https://sitekey.g.kuroco-img.app/files/user/deploy_file/404_deploy.zip"}
{assign var="token" value="****************************************************************"}
{* ヘッダーの設定 *}
{assign_array var="headers" values=""}
{append var="headers" value="Content-Type: application/json;charset=utf-8"}
{append var="headers" value="X-Kuroco-Auth: token `$token`"}
{* リクエストボディの設定 *}
{assign_array var="body" values=""}
{assign_array var="body.data" values=""}
{assign var="body.data.domain" value=$domain}
{assign var="body.data.hash" value=$hash}
{assign var="body.data.storage_url" value=$storage_url}
{* APIリクエスト実行 *}
{api
endpoint="`$endpoint`/direct/menu/github/"
method="POST"
headers=$headers
body=$body
var="response"
status_var="status"
}
バッチ処理の実行タイミングの詳細な設定方法については「バッチ処理の実行を指定の日時や週次に設定できますか?」を参照してください。
関連ドキュメント
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。