我在第一页有以下代码:
$_SESSION['redirect_address'] = $_SERVER['REQUEST_URI'];
当我在下一页中调用$_SESSION['redirect_address']
时,它会给我这样的内容:
/host/example.php?1508270070
虽然它必须给我类似的东西:
/host/example.php?url=XYZ
当我在第一页代码的最末尾检查$_SESSION['redirect_address']
的值时,它给了我正确的值,而在第二页代码的最开头检查相同的$_SESSION['redirect_address']
它返回数字,试图清除cookie没有运气。
这4个小时,没有人能回答我的问题,请帮忙!
你的NGINX正在做一些它可能不应该做的事情
。但这就是它目前配置的功能
- 根据RFC3986,完整路径和"查询字符串"应包含在 URI 中。
- 根据 PHP $_SERVER 文档,
$_SERVER('REQUEST_URI')
不一定包含查询字符串。不同的服务器配置和 php 版本对于此变量中存储的数据(如果有)具有非常不同的结果。
检查您的环境
根据现有环境的配置,您可能应该检查以下 SERVER 变量的实际值:QUERY_STRING
、ORIG_PATH_INFO
、PATH_INFO
、PATH_TRANSLATED
、SCRIPT_NAME
、REQUEST_URI
和 PHP_SELF
。
相应地调整会话重定向。