我的网站上有一个404页面,其中有一个简短的PHP脚本,如果访问该页面(如果发生404错误),则通过电子邮件发送给我,如果设置了HTTP_REFERER
,那么我可以知道哪个页面导致了错误并修复它。
这是脚本:
(returnPage和destination变量用于链接用户,即:
<a href="<?php echo $returnPage ?>">Click here to return to the <?php echo $destination; ?>.</a></p>
)。
$returnPage;
$destination;
$err404;
if (isset($_SERVER['HTTP_REFERER'])) {
$returnPage = $_SERVER['HTTP_REFERER'];
$destination = "previous page";
$err404 = "this page: $returnPage";
$message = "A 404 error occurred from $err404";
mail('myemail@mail.com', '404 error', $message);
} else {
$returnPage = './index';
$destination = "home page";
}
因此,如果我的索引页面上的链接断开,示例电子邮件将如下所示:
此页面发生404错误:http://example.com/index.php
这个脚本完美地工作了几个星期,直到今天下午突然我开始收到电子邮件,说我访问的每个页面都发生了404错误。 (我添加了一些新的JavaScript(与404页面无关),并确保我将所有文件ftp到我的服务器上。当发生这种情况时)
我使用iPage作为主持人。我觉得这与主持人有关,但我不确定。有谁知道为什么会这样?
修改
PHP嵌入到404页面的
的HTML中