重定向不仅在联机服务器上工作


Redirect not working only on a online server

所以如果出现错误,我会从页面重定向。我将要重定向到的 URL 保存在我包含的配置文件中:require("config.php");

在配置中.php我存储了一个变量$errorURL它设置为等于http://www.mywebsite.com/etc.php

在我的脚本中,我有以下代码:

header('Location:'.$errorURL.'?&error=dataNotSet');
die();

URL 中的错误变量是唯一更改的内容。

这在我的本地主机上完美运行,但在我在线的服务器上则不然。我在两台服务器上都使用 php 5.5。

如果我将代码的重定向部分(见上文)更改为:

header('Location:http://www.mywebsite.com/etc.php?&error=dataNotSet');
die();

它有效。知道为什么会这样吗?

对,我想通了。

没有任何效果的原因是因为我在配置文件的开头有几个 and 标签.php。

在重定向之前,请确保脚本中包含的任何文件仅包含纯 php!

通过 $errorURL 证明:

将此行添加到代码的顶部:

die($errorURL);

并从变量的开头删除点$errorURL。

可能您的$errorURL变量很脏。

问候。