我有点问题。这是我的例子:
file1.php:
<?php include("file2.php"); ?>
file2.php:
<?php header("Location: file1.php"); ?>
因为包含了file2.php,重定向过程永远不会结束。但我仍然希望file2.php重定向到file1.php,我还需要在file1.php中包含file2.php。
听起来有点复杂,但我认为可以解决。
感谢任何帮助。
提前致谢。
最诚挚的问候,
阿科什
答案 0 :(得分:2)
如果你还没有在file1.php上,只能在file2.php中重定向:
if ($_SERVER["REQUEST_URI"] != "/file1.php") {
header("Location: /file1.php");
}
另一种可能的解决方案是使用一个标志,表示只应包含file2:
define('INCLUDE_MODE', true);
if (!INCLUDE_MODE) {header("Location: /file1.php"); exit;}
答案 1 :(得分:2)
将重定向语句包装在if语句中,如下所示:
// file2.php
<?php
if ($_SERVER['PHP_SELF'] == "file2.php") {
header("Location: file1.php");
}
?>
您还可以使用以下内容检测包含:
if (realpath(__FILE__) == realpath($_SERVER['SCRIPT_FILENAME']) {
// Not Included
} else {
// Included
}