条件重定向apache2

时间:2016-02-26 19:06:55

标签: php apache .htaccess

我正在设置一个网页来托管某些用户的文件。现在,如果你转到目录blah /文件夹,你将看到apaches默认文件夹视图。此文件夹视图是理想的,但我想阻止人们直接访问服务器目录中的文件夹。

现在我有一个启动会话的登录页面,如果用户正确登录,则将它们引导到他们的顶级目录并设置会话变量。

我希望有一种方法,每当有人试图访问我的服务器上的文件或文件夹时,它会检查此变量,如果它不存在,它会将它们引导回登录页面,如果它存在则显示它们默认文件夹视图。

我以为我可以使用.htaccess重定向到一个检查会话状态的php文件,但我不知道如何防止它在循环中运行。

1 个答案:

答案 0 :(得分:0)

假设您有一个成员页面,您只想在用户登录时访问该页面,以及任何人都可以访问的登录页面。

您可以使用$ _SESSION []执行此操作

创建两个文件中包含的标题页,并使用session_start()

登录页面看起来应该是这样的

 <?php
  require_once 'header.php';
  if(isset($_POST['user']&&$_POST['pass'])
  {
    //validate the values and check if user login credentials are right
   $_SESSION['loggedin']='true';
  }
 ?>

会员页面应该有这样的东西

<?php
 require_once 'header.php';
 if($_SESSION['loggedin']=='true')
 {
  echo'you can access this page member';
 }
 else{
 echo'Sending you back Mr';
 header('Location: http://somesite.com/login.php');
 }
?>