如何在 404 页面中获取用户输入作为参数


How do I get user input as parameter in a 404 page?

假设我有一个网站http://site.com。当用户浏览不存在的页面http://site.com/whatever.html时,将显示默认的 404 页面http://site.com/default.php

如何获取用户尝试浏览的内容?(在这种情况下whateve.html)。

这是一个常见的功能吗?

它在 Apache/Nginx 错误日志中。

您可以 grep 404 的文件

答案可能因您使用的服务器而异。对于像Apache和Nginx这样的常见服务器 - 如果你输入http://site.com/whatever.html并且如果不存在.html那么将显示404页面的内容(在服务器配置中设置),但URL位置将是相同的whatever.html

如果你想将参数传递给你的 404 页面,你可以尝试像 Regex 这样的东西来获取你的捕获/匹配值并将其传递给 404 页面,但我不能给你一个确切的答案,因为它取决于你使用的服务器。请让我们知道这是否有效,或者这是您正在寻找的,将尝试提供更多帮助。

使用 $_SERVER['REQUEST_URI'],您应该获得用户请求的文件名。