Php 获取404页面的原始url

Php 获取404页面的原始url,php,Php,所以我发现了两个问题: 但它们都有不同的语言。有没有办法获取导致在自定义消息中使用类似404消息的地址 例如,如果我请求了example.com/example1,但该页面不在那里,并且它重定向到了我的错误页面,我如何才能让example1显示在这样的消息中,该页面不在那里,或者用它来创建页面example1?它不能在$\u服务器['HTTP\u REFERER']变量 请参见因为您使用的是PHP,所以您可以访问各种PHP超全局$_服务器['SCRIPT\u NAME']、$\u服务器['R

所以我发现了两个问题:

但它们都有不同的语言。有没有办法获取导致在自定义消息中使用类似404消息的地址


例如,如果我请求了
example.com/example1
,但该页面不在那里,并且它重定向到了我的错误页面,我如何才能让
example1
显示在
这样的消息中,该页面不在那里,或者用它来创建页面
example1

它不能在$\u服务器['HTTP\u REFERER']变量


请参见

因为您使用的是PHP,所以您可以访问各种PHP超全局$_服务器['SCRIPT\u NAME']、$\u服务器['REQUEST\u URI']等可用于此目的。错误页面中的类似操作应执行以下操作:

<?php
    printf("The page %s was not found.", $_SERVER['REQUEST_URI']);
?>


要了解更多信息,请查看

我也遇到过同样的问题,使用referer并不总是有效的,这取决于,有时,当重定向到错误页面时,所有服务器头的值都会丢失。@jan tojnar这些解决方案不起作用!如果我请求$\u SERVER['HTTP\u REFERER'],它总是空的,$\u SERVER['REQUEST\u URI']给出的是当前脚本名,而不是错误url。如果用户键入并且.htaccess文件指向404错误,如下所示:ErrorDocument 404然后$\u SERVER['REQUEST\u URI']包含@Chiwda如果您重定向到错误页面,
REQUEST\u URI
当然将包含错误页面的地址。您可以尝试在
ErrorDocument
指令中使用相对路径,这不会导致重定向。确定。这似乎奏效了。。。ErrorDocument 404/pagenotfound.phpdoes无法在我的Web服务器上工作引用器为空-可能是ajaxrequest。。。我还没弄明白。