对于使用php调用的页面使用.htaccess

时间:2011-09-16 18:40:34

标签: php .htaccess include

我正在制作如下页面,左边会有一个菜单。在菜单中将有home,page1,page2,page3和pageProtected链接。当我点击任何页面时,此菜单将保持不变。只有右侧页面的内容会发生变化。

我创建了一个文件“left.php”,每个页面的内容为“page1Content.php”等。

当我点击page1时,它会转到page1.php,其中包括left.php和page1Content.php。

Html code...
<?php include("left.php")?>
more html code...
<?php include("page1Content.php")?>

因此,在每个文件中,只有第二个包含的文件发生更改。所有html代码对于所有页面都是相同的。但我有一个受保护的页面,需要一个登录窗口。它被称为“pageProtected.php”。问题是我想将此文件保存在主文件夹中,但保留内容:“pageProtectedContent.php”在我放置.htaccess文件的文件夹中。

但是,当我这样做时,它不会要求密码。当我将“pageProtected.php”放在这个文件夹中时,我必须更改我在此文件中包含的“left.php”。那么我保持独特的“left.php”的目的并不令人满意。我有什么选择?

这可能是一个非常新手的问题,但我无法在互联网上找到解决方案。注意:我不想在左侧菜单中使用框架。

1 个答案:

答案 0 :(得分:1)

.htaccess文件只能阻止在Web浏览器中访问文件,PHP可以将文件包含在受htaccess保护的文件夹中,就好像它们没有受到保护一样。

我认为您需要做的是让pageProtectedContent.php检查cookie或使用php sessions来促进登录和身份验证。

如果包含该用户并且用户未登录,则会显示登录表单,如果他们已登录,则会显示受保护的内容。

使用.htaccess的唯一方法是将受保护的页面放在受保护的文件夹中,但是您需要更改include语句以使用../left.php等。