2017-02-04 7 views
0

私はクッキーのコンテンツ名を持っています。今私がしなければならないものをするとき、ユーザーが訪問するサイトで、すでに私は、ユーザーが学生とに/教師のページであれば、ユーザは、私が試した方法teacher.Hereある場合に/学生のページに彼をリダイレクトする必要が記録されクッキーのコンテンツに基づくApacheのリダイレクト

RewriteCond %{REQUEST_URI} ^/index.html$ 
<If " %{HTTP_COOKIE} != 'student'"> 
RewriteEngine On 
RewriteRule^/student?%{HTTP_HOST} [L] 
</If> 
<Else> 
RewriteEngine On 
RewriteRule .* /teacher.html?%{HTTP_HOST} [L] 

しかし、それは私が

RewriteCond %{REQUEST_URI} ^/index.html$ 
RewriteCond %{HTTP_COOKIE} .*client-id.* 
RewriteCond %{HTTP_COOKIE} !cookie=student 
RewriteRule^/student.html?%{HTTP_HOST} [L] 

RewriteCond %{REQUEST_URI} ^/index.html$ 
RewriteCond %{HTTP_COOKIE} .*client-id.* 
RewriteCond %{HTTP_COOKIE} !cookie=teacher 
RewriteRule^/teacher?%{HTTP_HOST} [L] 

クライアントIDは、クライアント(生徒と教師の両方)のためのクッキー である。しかし、これはのみ/学生のページに私をリダイレクトするだけでなく、これを試してみました500 のステータスエラーコードを誤って設定コンフィギュレーションのエラーメッセージが表示さユーザーが教師であっても

答えて

0

ifおよびその他のディレクティブは、Apache 2.4以降で使用できます。私はあなたが500エラーを取得するように、より低いバージョンを使用していると思います。あなたは、次のルールを使用することができます。

RewriteEngine on 

RewriteCond %{HTTP_COOKIE} ^user=(student|user)$ [NC] 
RewriteRule^/%1/? [NC,L,R] 

値が学生である場合はクッキーの値が教師や/学生である場合、これは/anyURIの/へ/教師をリダイレクトします。

どのようにあなたのために働くか教えてください。

+0

それはwww.localhost.comがあなたを何度もリダイレクトしたことを示します。私はクッキーをクリアしましたが、それでも同じです –

関連する問題