php - 404 自定义错误页面重定向不显示丢失的文件 URL

标签 php url redirect http-status-code-404 custom-error-pages

我的网站上有一个自定义的 404 错误页面,但是在网站上做其他事情时,错误页面很难弄清楚我丢失的文件问题是什么,因为它重定向到给定的 html 或 php 文件并需要从地址栏中删除丢失文件的 URL,并将其替换为自定义错误页面的 URL。

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

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

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

最佳答案

如果您的错误页面被重定向到 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>";

screenshot of the error page with firebug

关于php - 404 自定义错误页面重定向不显示丢失的文件 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7426793/

相关文章:

php - 找不到对象!在 Fuel php 中重定向路由后

php - 哪种是按国家/地区重定向用户的最佳可扩展方式?

PHP自制查询功能不起作用

php - 我需要在点后有 2 个符号

php - 已编译的 PHP 7 在 WordPress 中缺少 mysql 扩展

php - 我如何配置 HTML Purifier 以允许图像 src 的数据 URI?

android - 如何在 android web 浏览器中获取所选超链接的 URL?

django - 如何反向使用DefaultRouter()的URL?

.htaccess - 将所有子域 URL 重定向到主页

asp.net - 在 asp.net 中检查 URL 是否存在或抛出页面未找到消息