如果使用变量构建,则重定向到页面不起作用

发布于 2024-12-01 06:09:00 字数 183 浏览 1 评论 0原文

为什么这不起作用并在 Firefox 中给出页面未正确重定向错误

$page_name = "home.php";

if (true) {
//none
} else {
header("location:http://mysite.com/pages/".$page_name);
die;
};

Why this does not work and gives page isnt redirecting properly error in firefox

$page_name = "home.php";

if (true) {
//none
} else {
header("location:http://mysite.com/pages/".$page_name);
die;
};

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

坏尐絯℡ 2024-12-08 06:09:00

尝试正确执行 - 该方法是惰性重定向:

header('HTTP/1.1 302 Found');
header("Location: http://mysite.com/pages/$page_name");

请注意间距以及我已明确选择响应代码的事实。

虽然没有真正的原因导致您所做的事情不起作用,而且如果您设置 Location: 标头并设置 302 代码,PHP 也应该弄清楚您正在执行重定向,但它是最好总是正确地做,这样你就知道它应该有效。

Try doing it properly - that method is the lazy redirect:

header('HTTP/1.1 302 Found');
header("Location: http://mysite.com/pages/$page_name");

Note the spacing and the fact that I have explicitly chosen a response code.

While there is no real reason for what you have done not to work, and also PHP should figure out the fact that you are doing a redirect if you set a Location: header and set a 302 code, it's always best to do it properly so you know it should work.

眼前雾蒙蒙 2024-12-08 06:09:00

更改

if (true) {

并删除

if (false) {

if 语句末尾的分号。

结果:

$page_name = "home.php";

if (false) {
//none
} else {
header("location:http://mysite.com/pages/".$page_name);
die;
}

如果这不起作用,还要更改标头调用以遵循 DaveRandom 的建议。

Change

if (true) {

to

if (false) {

and remove the semicolon at the end of the if statement.

Result:

$page_name = "home.php";

if (false) {
//none
} else {
header("location:http://mysite.com/pages/".$page_name);
die;
}

If this doesn't work, also change the header calls to follow DaveRandom's advice.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文