2

我的网站上有一个自定义的 404 错误页面,但是在网站上执行其他操作时,错误页面使我很难弄清楚我丢失的文件问题是什么,因为它重定向到给定的 html 或 php 文件并获取地址栏中丢失的文件并将其替换为自定义错误页面的 URL。

因此,例如,当用户登录该站点时,当他们点击提交时,我将它链接到一个 php 文件,但是浏览器将他们直接带到 404 错误页面,所以我看不出问题实际上是链接到比它应该更高的一个目录。

我尝试使用 php 将丢失文件的 URL 打印到页面,但服务器只是抓取 404 错误页面的 URL,而不是原始的丢失文件 URL。这是我尝试这样做的方法:http: //members.cox.net/midian/tutorials/php404.htm

如何在地址栏中保留原始丢失 URL 的同时显示自定义错误页面,或将丢失文件的 URL 打印到页面?

4

2 回答 2

5

如果您的错误页面被重定向到 PHP 驱动的 404 页面,那么该变量$_SERVER["HTTP_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>";

带有 firebug 的错误页面的屏幕截图

于 2011-09-15T06:46:18.530 回答
2

Salman A 发布的内容对我有用。

它仅在我在 .htaccess 文件中使用相对路径时才有效:

ErrorDocument 404 /error-404.php

不是 ErrorDocument 404 http://www.mydomain.com/error-404.php

第二个版本在地址栏和页面正文中给了我重定向的 url。

此外,您的 404 消息不需要使用 php 页面;如果您不想在页面正文中回显 URL,则 html 页面也可以使用。

于 2014-03-04T02:58:25.720 回答