如何使用从 SSI 调用的 PHP 脚本进行重定向?

问题描述 投票:0回答:3

在 WAMP 服务器上,我有一个服务器端包含文件 a.shtml,由以下代码组成:

<!--#include virtual="./req.php"-->

req.php的内容是:

<?php
Header("Location:index.php");
echo "still here";
?>

当我打开 a.shtml 时,我看到文本

still here
,但该页面没有尝试自行重定向。为什么是这样?有什么办法让它发挥作用吗?

感谢帮助

编辑: 我想这样做的原因是因为我有一些会话变量,我想影响 PHP 脚本的行为方式。如果未设置会话变量,我需要它重定向到登录页面。我知道我可以用 PHP 编写整个内容,但如果可能的话我想这样做。如果 not 不可能从 SSI 的包含的 PHP 文件中更改标头信息,那么我将完全用 PHP 来完成。

php apache redirect wamp ssi
3个回答
0
投票
  1. 不可能

  2. 你不需要那个。

只需解决直接设置会话变量的游览脚本,而不是通过 ssi


0
投票

MAYBE(大写字母 Lol),如果您在 IFRAME 中调用该脚本并且 IFRAME 输出一些 JScript,例如

window.parent.location = <some_url_here>
迫使其父级更改其位置,您可以将其关闭...从我的角度来看,这只是快速思考,我可能对 IFRAME 与原始文档的父子关系有误,因为我自己没有测试过这个“想法”:)


0
投票

如果您的 req.php 返回以下 html 代码,将发生重定向:

<html><head>
<title>HTTP 301 This page has been moved</title>
<meta http-equiv="Refresh" content="0;URL=https://www.example.com/index.php">
</head>
<body></body></html>

但是:“谷歌警告:使用元刷新标签是不好的做法”

© www.soinside.com 2019 - 2024. All rights reserved.