訪問者がログインしていない場合、特定のディレクトリへのアクセスを拒否したいと思います。そして、「あなたはログインしていません」.html ファイルにリダイレクトします。
これどうやってするの?ログアウトした場合、php で .htaccess を編集する方法はありますか?
これは Apache ではできません。
これを実現する 1 つの方法は、書き換えルールを介してすべてのリクエストを php スクリプトに転送し、この PHP スクリプトを介してファイルを提供することです。
しかし、これは重いので、ファイルが大きい場合、これは良い解決策ではありません。
おそらく、Apache dbd auth modのように見えるはずです(データベースにユーザーがいる場合)。しかし繰り返しになりますが、Apache は得意ではないので、これは 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';
}
?>