我的网站上有一个自定义的 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>";
关于php - 404 自定义错误页面重定向不显示丢失的文件 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7426793/