假设我有一个网站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'],您应该获得用户请求的文件名。