PHP包括问题

时间:2011-04-25 15:31:24

标签: php

是否可以在网站中包含php,但是当您引用所包含的网站时,您将被重定向。例如:

在index.php中我们有:

 <?php include('http://mydomain.com/aboutme.php')   ?>

但是如果您输入http://mydomain.com/aboutme.php,那么您将重定向到index.php。

这可能吗?

由于

3 个答案:

答案 0 :(得分:2)

是的,如果使用标题

进行aboutme.php重定向,则可以检查所请求的文件名
$basename = basename($_SERVER['REQUEST_URI']);
$filename = basename($basename);

if ($filename == "aboutme.php")
{
   header('location:index.php');
}

答案 1 :(得分:1)

可以做你想做的事,但是因为HTTP是无状态的,你需要使用某种类型的状态维护设备,也就是Cookie或Sessions,甚至是变量(因为你正在做一个'include'来自你的索引..

例如,在索引顶部,在包含之前,您可以输入:

$fromIndex = true;

然后在aboutme.php文件的顶部,您可以进行简单的检查:

if(!isset($fromIndex) || !$fromIndex) {
    header("Location: index.php");
    exit();
}

答案 2 :(得分:0)

您可能需要考虑使用JavaScript重定向。

<script type="javascript">
    window.location = "index.php";
</script>

由于header()函数需要位于PHP文件的顶部,因此如果将其包含在其他文件中,则可能会失败。