こんな方に読んでほしい
[記事の内容]

PHPを使って「指定日時を過ぎたらページを自動的に404へリダイレクトする方法」を解説します。キャンペーンページや期間限定コンテンツの公開期限管理を自動化したい方に向けて、実際のコード例と仕組みをわかりやすく紹介します。
まずは実際によくある利用シーンを見てみましょう。

一見シンプルですが、公開終了日に必要な要素がすべて含まれています。
全体のコードは以下になります。!doctype htmlの下に記述します。
また、個別で解説しております。
<!doctype html>
<?php
date_default_timezone_set('Asia/Tokyo');
$now = isset($_GET['time'])
? new DateTime(str_replace('+', ' ', $_GET['time']))
: new DateTime();
// 取り消し日時:2026-01-01 09:00
$limit = new DateTime('2026-01-01 09:00');
if ($now >= $limit) {
header('Location: /404.php', true, 302);
exit();
}
?>
<html>
<head>
date_default_timezone_set('Asia/Tokyo');$now = isset($_GET['time'])
? new DateTime(str_replace('+', ' ', $_GET['time']))
: new DateTime();$limit = new DateTime('2026-01-01 09:00');
header('Location: /404.php', true, 302);
exit();
//終了時間を過ぎた場合、
/404.php
//へリダイレクトします。
302 = 一時的なリダイレクトです。
exit();上記で解説しましたが、公開終了日を待たずに表示確認をしたい場合は、URLパラメータを利用すると便利です。
変更前と変更後の確認をする為に必ず行いましょう。
/?time=2026-01-01+09:00のコードを必ず指定してください。
<!-- 変更前 -->
https://example.com/
<!-- 変更後 -->
https://example.com/?time=2026-01-01+09:00
今回はこれで以上です。
今回紹介した方法を使うことで、
PHPでページの公開期限を簡単に管理することができます。個人的に「手動でページを削除する手間がなくなる」のが、とても便利だとかんじています。
DateTime('2026-01-01 09:00')の中を変更してください。2026.04.05
2026.03.29
2026.03.14
2026.03.08
2026.03.01
2026.02.26
2023.06.15
2022.06.30
2020.03.22
2020.03.06

© 2025 shu-naka-blog