メインコンテンツまでスキップ

時間指定でサイトの表示を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コミュニティにご参加ください。