1

如果访问者未登录,我想拒绝访问者访问特定目录。并将他们重定向到“您未登录”.html 文件。

我怎样才能做到这一点?如果注销,有什么方法可以用 php 编辑 .htaccess 吗?

4

2 回答 2

1

你不能用 Apache 做到这一点。

实现此目的的一种方法是通过重写规则将每个请求转发到 php 脚本,并通过此 PHP 脚本提供文件。

但这很重,如果您的文件很大,这不是一个好的解决方案。

也许您应该将其视为Apache dbd auth mod(如果您的用户在数据库中)。但同样,这不应该是 Apache 的工作,因为它并不擅长。

于 2012-12-14T15:11:43.893 回答
0

这不是 Apache 的工作,但 PHP 可以为您完成。

在仅限公共的页面上,不定义会话参数。

在公共登录页面上,定义所有会话参数。

在仅限会员的页面上,按原样启动会话:

    <?php

    session_start();

    // Assuming variables have been initally defined
    if(isset($_SESSION['username']) AND isset($_SESSION['password']))
    {
        echo 'You are now logged in';
            header('Location: sosecretpage.php');
    }

    else
    {
        echo 'You are not logged in. You dont have access to this page';
    }
    ?>
于 2013-11-05T15:09:54.537 回答