2017-02-04 4 views
0

У меня есть имя файла cookie, скажем, пользователь, у которого есть значение cookie для ученика и учителя. Теперь то, что я должен делать, когда пользователь посещает веб-сайт и уже зарегистрирован я должен перенаправить его/студент страницу, если пользователь студент и страница/учитель, если пользователь teacher.Here как я пыталсяapache redirect на основе содержимого cookie

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] 

Но он показывает сообщение об ошибке конфигурации неправильной с кодом ошибки 500. статус Я попытался это, а

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] 

идентификатор клиента куки для клиента (как студентов и преподавателей) Но это перенаправить меня только студенческую страницу/только если пользователь учитель.

ответ

0

Директивы If и Else доступны для использования с apache 2.4. Я думаю, что вы используете более низкую версию, чтобы получить 500 ошибок. Вы можете использовать следующее правило:

RewriteEngine on 

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

Это будет перенаправлять /anyuri/ к /учителю, если значение куков является учителем или /студентом если значение Student.

Сообщите мне, как он работает для вас.

+0

он дает www.localhost.com перенаправлять вас слишком много раз. Я удалил куки, но он все тот же –

Смежные вопросы