条件重定向 Apache 2.


conditional redirect apache2

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

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

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

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

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

您可以使用 $_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');
 }
?>