我只是想知道如何获得 在我的网站上找不到该网页的链接。
使用以下 .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/