获取使用PHP生成错误404的页面引用器和缺少的页面
我一直在网上寻找一种方法来检索产生404错误的URL。我在这个网站和其他网站上找到了关于这个主题的各种帖子,并且都试过了。不幸的是,我仍然无法得到我想要的。我会尽力解释我做了什么,得到了什么 场景: 我有一页。让我们打电话给 在这个页面中,我有一个链接,比如说错了\u page.php,或者,如果您愿意, 由于页面错误\u page.php实际上并不存在,当有人单击此链接时,它会重定向到error404.php。(为了方便起见,所有页面都位于根目录中 问题:有没有可能error404.php将index.php作为错误链接所在的原始页面和错误页面.php作为错误链接本身 设置 在我的站点的根文件夹中,我有一个带有以下指令的.htaccess文件:获取使用PHP生成错误404的页面引用器和缺少的页面,php,apache,.htaccess,http-status-code-404,superglobals,Php,Apache,.htaccess,Http Status Code 404,Superglobals,我一直在网上寻找一种方法来检索产生404错误的URL。我在这个网站和其他网站上找到了关于这个主题的各种帖子,并且都试过了。不幸的是,我仍然无法得到我想要的。我会尽力解释我做了什么,得到了什么 场景: 我有一页。让我们打电话给 在这个页面中,我有一个链接,比如说错了\u page.php,或者,如果您愿意, 由于页面错误\u page.php实际上并不存在,当有人单击此链接时,它会重定向到error404.php。(为了方便起见,所有页面都位于根目录中 问题:有没有可能error404.php将i
ErrorDocument 404 error404.php
在error404.php中我循环了整个$\u服务器变量,这是我得到的:
[Wed Jul 23 11:28:51 2014] [error] [client 127.0.0.1] File does not exist: /www.example.com referer: /www.example.com/index.php
在生产服务器中,当我复制相同的错误时,不会创建相同的行
我错过了什么?还是我能得到的一切?
是否有任何服务器参数可以更改以获得所需的?
还有其他全局变量吗?
正如我所说的,我知道还有很多关于这个的帖子,但是他们都谈论这些相同的全局变量,正如我所说的,他们没有给我想要的(罪魁祸首是错误的_page.php)。如果我可以称之为解决方案,我最终找到了“解决方案”
整个问题在于.htaccess内的指令中使用的URL
我将我的指令写为:
ErrorDocument 404 error404.php
但是在我的实际.htaccess中,我的指令是
ErrorDocument 404 http://www.example.com/error404.php
的存在是问题所在。我所要做的就是按照以下方式发出指令:
ErrorDocument 404 /error404.php
这样,$\u服务器['REQUEST\u URI']会给我用户请求的错误URI。如果它是我网站中的链接,它会给我该链接存在于$\u服务器['HTTP\u REFERER']中的页面。否则,如果用户只是在地址栏中键入错误的URI,$\u服务器['HTTP\u REFERER']将为空
我希望这能帮助其他人解决同样的问题。您缺少的是对http是无状态协议的理解。我感谢您的评论以及http是无状态协议的事实。然而,我的问题仍然是:是否有可能检索错误的链接(错误的页面.php)如果是这样的话,你知道如何或能够指引正确的方向吗?