【发布时间】:2021-05-30 18:43:26
【问题描述】:
我对 PHP 函数 header('location:anylink'); 有一个奇怪的问题。并且不是编码问题,因为完全相同的脚本(是我的脚本)在其他安装中可以正常工作。已在我的客户的至少 10 个其他网站中检查过它,它们具有不同的服务器配置并且工作正常。
一个例子:我在我的代码中检查了数据库中是否存在文章 ID。如果不存在,则重定向到主页。如果存在,则显示文章页面。
文章 ID 不存在并(正确)重定向到博客主页的一些测试:
https://www.hostbignet.com/blog.php?do=article&id=400
https://oraclewebhost.org/blog.php?do=article&id=400
这是我网站中的链接。如您所见,它继续执行代码并显示页面,当然数据为空。
https://www.whmup.com/blog.php?do=article&id=400
已经尝试了至少十几个我在这里找到的类似问题的建议,但没有任何改变。我使用了 ob_start,我写了 Location 而不是 location,我在 URL 之前留了空格,我在重定向下面添加了 exit 和 exit()。没有解决问题。
我的代码是(我之前尝试过添加域名):
// Redirect Back
header('location:blog.php');
另外。我什至再次尝试使用 window.location.href 和 window.location.replace 什么都没有。
我的服务器是带有 CWP Pro 的 CentOS 7。
谢谢 克里斯
【问题讨论】:
-
header('location:'blog.php');有一个带引号的基本错误。 -
我的站点配置:Apache:Apache/2.4.39 PHP:7.4.13 MySQL:10.2.36-MariaDB 也禁用了Mod Security
-
@Nigel Ren 你的意思是双引号吗?这是原来的。之后单引号发生了变化,因为再次尝试查找问题。
-
中间那句话是干什么用的?
-
好的,知道了。您的意思是 blog.php 之前的单引号。不在这里。在这里复制/粘贴是一个错误。当我删除了一个变量时,我错误地离开了它 $CFG["siteurl"].'/blog.php'
标签: php redirect header centos7