【发布时间】:2015-05-01 13:00:45
【问题描述】:
我正在制作一个带有按钮的页面 404,供用户报告该网站有问题。这个想法是当用户点击按钮时,我会收到一封电子邮件,其中包含访问的最后一页的信息......
问题是我正在使用 php 变量 '$_SERVER['HTTP_REFERER']' 并且这会返回一个空值。我发现了这个问题 (In what cases will HTTP_REFERER be empty),我得出的结论是这个变量不是解决方案。
这是我的 .htacess
RewriteEngine on
ErrorDocument 404 http://example.com/erro.php
#ErrorDocument 404 /erro.php #this doesnt work... redirect doesnt work
在页面 erro.php 上,我有带有功能电子邮件的代码,这些代码可以正常工作,但我需要某种方式来获取最后访问的页面,该页面会产生错误。
在页面 erro.php 我正在尝试使用:
echo $_SERVER['HTTP_REFERER']; // return null value
echo $_SERVER['REQUEST_URI']; // return page http://example.com/erro.php
我尝试使用 jQuery (https://stackoverflow.com/a/2415645/2761794):
页面上的erro.php
$(document).ready(function() {
var referrer = document.referrer;
alert(referrer); // return null value
});
一些建议将页面 erro.php 上的最后访问 URL 用于通过电子邮件发送?
【问题讨论】:
-
让用户报告错误真的没有意义。他们更有可能按下后退按钮。在服务器上使用您的错误日志
-
看不到日志,我工作的地方每天要管理很多站点,做更多的站点,所以盯着日志是不可行的。
-
设置 cron 作业然后读取日志
-
感谢您的建议,但现在这并不是我真正想要的。
标签: php jquery email http-status-code-404 http-referer