1

クッキーに特別な値があるかどうかをhtaccess内で確認したいと思います。そうでない場合は、すべてのリクエストをログインページ「/login/」にリダイレクトしたいと思います。このステップは正常に機能しています。

しかし今、私は無限のリダイレクトを避けるためにログインページを除外する必要があります:

RewriteCond %{HTTP_COOKIE} !cookie-name=test [NC]
RewriteCond %{REQUEST_URI} !^/login/?$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/login/ [NC,L]

どんな助けもいただければ幸いです...

4

1 に答える 1

0

特別な値-を「置換」として使用することをお勧めします。これは、実質的にdon't do nothing と同じです。これにより、ユーザーがすでにログイン ページにいる場合、それ以上の書き換え処理が防止されます。

また、ログイン ページが表示されているかどうかを確認する書き換え条件も不要になったため削除しました。また、一番下の書き換えルールからホスト名を削除し、相対 URL に置き換えましたが、/login/それを自分のやり方で行う正当な理由があるかもしれません。

RewriteRule ^login/?$ - [NC,L]

RewriteCond %{HTTP_COOKIE} !cookie-name=test [NC]
RewriteRule ^(.*)$ /login/ [NC,L]
于 2013-02-26T20:31:46.833 に答える