gpt4 book ai didi

php - 带有 Rewrite 的 ErrorDocument 并且仍然获得Referer

转载 作者:行者123 更新时间:2023-12-03 09:00:01 25 4
gpt4 key购买 nike

我基本上想要做的是将任何 404 请求重定向到 /404/但后来我想让它“拉”页面到 index.php?error=404 ,同时将 URL 保留为 /404/ - 然后我可以使用 PHP (使用 $_SERVER['HTTP_REFERER']`) 获取引用者。

我相信重写规则应该先于 ErrorDocuments,所以我的 .htaccess 文件如下所示:

RewriteRule ^404/$ /index.php?error=404
ErrorDocument 404 /404/

我知道我可能在上面做了一些根本错误的事情,因为 404 页面/$_SERVER 没有引用 URL(可能是因为 ErrorDocument)。

index.php 页面获取通过它路由的所有内容(我收集了非常标准的东西)并在找不到页面/文件时发送执行头重定向到/404/。虽然如果有人错误地将 URL 输入到浏览器中,我想获得原始请求,但由于页面无论如何都被重定向,那应该仍然是 PHP 中的引用者吗?

最佳答案

我建议你直接使用 error.php 来做不同的事情。文件:

ErrorDocument 404 error.php

然后,您可以将该文件用作代理,将所有需要的信息注入(inject) index.php。 .如果您需要找出 apache 状态码(和其他有用信息),请查看 $_SERVER超全局数组。

这样做可以为您提供更好的控制水平,并且您可以更轻松地处理服务器差异,以防您需要将应用程序从一台服务器迁移到另一台服务器。

关于php - 带有 Rewrite 的 ErrorDocument 并且仍然获得Referer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com