如果访问者未登录,我想拒绝访问者访问特定目录。并将他们重定向到“您未登录”.html 文件。
我怎样才能做到这一点?如果注销,有什么方法可以用 php 编辑 .htaccess 吗?
你不能用 Apache 做到这一点。
实现此目的的一种方法是通过重写规则将每个请求转发到 php 脚本,并通过此 PHP 脚本提供文件。
但这很重,如果您的文件很大,这不是一个好的解决方案。
也许您应该将其视为Apache dbd auth mod(如果您的用户在数据库中)。但同样,这不应该是 Apache 的工作,因为它并不擅长。
这不是 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';
}
?>