php - 如何记录哪个页面是 "not found"? (尝试使用 htaccess、php、http_referer 自定义错误页面)

标签 php .htaccess http-referer

我只是想知道如何获得 在我的网站上找不到该网页的链接。

使用以下 .htaccess 代码,当请求不存在的页面时,用户将被重定向到 my_404.php。

Options -Indexes

ErrorDocument 404 http://mysite.com/my_404.php

如果我必须追踪未找到的页面链接是什么,我该怎么做?

举个例子,A.php 是一个有效的网页,而 b.php 则不是。因此,如果我在 A.php 上并尝试查看 b.php (不存在的页面).. .htaccess 将我重定向到 my_404.php,我在其中看到 HTTP_REFERER 为 A.php .. 但是我正在寻找的是“有人试图查看 B.php”。我该怎么做?

感谢您的帮助。

编辑

请参阅:我不想 checkin 日志文件。我正在询问页面上的一些内容。谢谢。

最佳答案

当您使用像 http://mysite.com/my_404.php 这样的远程 ErrorDocument URL 时,Apache 会将指向该 URL 的重定向发送给客户端,这就是为什么您无法获取就像 Matt Bridges 建议的那样,从 $_SERVER['REQUEST_URI'] 导致 404 的 URL。 您可能想尝试使用本地 ErrorDocument(没有方案和服务器名称),如下所示:

ErrorDocument 404 /my_404.php

我怀疑 $_SERVER['REQUEST_URI'] 随后会返回最初请求的 URL。

关于php - 如何记录哪个页面是 "not found"? (尝试使用 htaccess、php、http_referer 自定义错误页面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1057928/

相关文章:

php - 如何使用PHPUnit设置ExpectedException()?

.htaccess 重定向美化URL/隐藏结构

html - htaccess 重定向的解释

php - 用于关键任务的 php HTTP_HOST 和 HTTP_REFERER 的可靠性

php - "session.storage.factory.service"服务已弃用,

php - 需要一些关于 PHP 中准备好的语句的解释

php - GAE - php5.5 - PHP 运行时不可用

apache - .htaccess 用分页重写类别

Django:用户注册时保存引荐来源网址

java - 302重定向后的HTTP Referer