Php 404自定义错误页面重定向不';不显示缺少的文件URL
我在我的网站上有一个自定义的404错误页面,但是当在网站上做其他事情时,错误页面很难找出我丢失的文件的问题是什么,因为它重定向到给定的html或php文件,并从地址栏中取出丢失文件的URL,并用自定义错误页面的URL替换它 例如,当用户登录到该站点时,当他们点击submit时,我让它链接到一个php文件,但是浏览器会直接将他们带到404错误页面,所以我看不出问题实际上是链接到一个比应该高的目录 我曾尝试使用php将丢失文件的URL打印到页面上,但服务器只是获取404错误页面的URL,而不是原始的丢失文件URL。下面是我如何尝试这样做的: 如何在地址栏中保留原始缺失的URL的同时显示自定义错误页面,或者将缺失文件的URL打印到页面?如果错误页面被重定向到PHP支持的404页面,那么变量Php 404自定义错误页面重定向不';不显示缺少的文件URL,php,url,redirect,http-status-code-404,custom-error-pages,Php,Url,Redirect,Http Status Code 404,Custom Error Pages,我在我的网站上有一个自定义的404错误页面,但是当在网站上做其他事情时,错误页面很难找出我丢失的文件的问题是什么,因为它重定向到给定的html或php文件,并从地址栏中取出丢失文件的URL,并用自定义错误页面的URL替换它 例如,当用户登录到该站点时,当他们点击submit时,我让它链接到一个php文件,但是浏览器会直接将他们带到404错误页面,所以我看不出问题实际上是链接到一个比应该高的目录 我曾尝试使用php将丢失文件的URL打印到页面上,但服务器只是获取404错误页面的URL,而不是原始的
$\u SERVER[“HTTP\u REFERER”]
应该包含一些有趣的内容。话虽如此,重定向到错误404页面是一种糟糕的做法。它混淆了搜索引擎和人类访客
编辑
下面是一个在Apache上工作的解决方案。将此行添加到.htaccess
文件:
ErrorDocument 404 /error-404.php
在网站的根目录中创建一个名为error-404.php
的文件,其中包含以下内容:
<?php
echo "<h1>404 Not Found</h1>";
echo "<p>The page {$_SERVER['REQUEST_URI']} was not found on this server</p>";
Salman A发布的内容对我来说很有用 但只有当我在.htaccess文件中使用相对路径时,它才起作用:
ErrorDocument 404 /error-404.php
和不错误文档404http://www.mydomain.com/error-404.php
第二个版本是在地址栏和页面正文中给我重定向的url
此外,您不需要为404消息使用php页面;如果您不想在页面正文中回显URL,html页面也可以使用。我不想重定向,这只是我在网上唯一能找到的东西。有人知道如何在不重定向的情况下显示自定义错误页吗?(如果我在帖子中说得不清楚,这是我最初的问题)。我尝试回显$\u服务器[“HTTP\u REFERER”],但没有打印任何内容,因此我一定是做错了。如果它是apache服务器,您可以通过
.htaccess
/httpd.conf
文件定义自定义404页面。您的托管公司还可能提供一个接口,用于为404错误配置自定义页面。让我知道这是否可行。这是我在发布问题之前尝试过的。我在.htaccess中定义了自定义错误页。它部分有效:它将重定向并打印页面,但问题是每次都会打印:“此服务器上找不到页面/404.php”