0

我正在使用 bash shell 脚本从多个网页中检索 Last-Modified 值(感谢 Lri!)。这是我正在使用的代码:

#!/bin/bash

url=http://www.mywebsite.com
tempdir=~/Library/Caches/scripts
temp=$tempdir/mywebsite
mkdir -p $tempdir
modified=$(curl -sI "$url" | grep ^Last-Modified)
if [[ -f "$temp" && "$modified" != "$(cat $temp)" ]]; then
terminal-notifier -message 'Example changed'
fi
printf %s "$modified" > $temp

当我在 index.html 上运行脚本时,输出为:Last-Modified: Wed, 06 Nov 2013 00:20:49 GMT(这是正确的)。

当我在 index.php 上运行脚本时,输出中什么也没有。

有人可以向我解释我需要包含在 .php 页面或 shell 脚本中以纠正问题的代码吗?谢谢!

4

1 回答 1

0

Web 服务器可以根据 .html 文件的时间戳确定 Last-Modified 日期。

这不适用于 PHP 文件,因为 PHP 页面通常是动态的。在这些情况下,由开发人员决定什么构成逻辑修改,并发送适当的标头。

这是一个仅将上次修改时间设置为当前日期的示例:

<?PHP
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
?>

对于博客,您可能希望将 Last-Modified 日期设置为页面上显示的最近更新文章的日期。对于天气预报,您可以将其设置为您当前查看的位置的源数据最后一次更新的时间。

于 2013-11-06T21:27:22.413 回答