1

訪問者がログインしていない場合、特定のディレクトリへのアクセスを拒否したいと思います。そして、「あなたはログインしていません」.html ファイルにリダイレクトします。

これどうやってするの?ログアウトした場合、php で .htaccess を編集する方法はありますか?

4

2 に答える 2

1

これは Apache ではできません。

これを実現する 1 つの方法は、書き換えルールを介してすべてのリクエストを php スクリプトに転送し、この PHP スクリプトを介してファイルを提供することです。

しかし、これは重いので、ファイルが大きい場合、これは良い解決策ではありません。

おそらく、Apache dbd auth modのように見えるはずです(データベースにユーザーがいる場合)。しかし繰り返しになりますが、Apache は得意ではないので、これは 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 に答える