Ответ 1
Быстрая проверка на моей стороне, чтобы убедиться, что это работает, вот пример
/.htaccess
RewriteEngine On
# if no "logged_in" cookie set to "yes", then create it
# cookie is valid for any hosts of .example.com, during 1 minute, for the entire website, not necessarily ssl only, not accessible from javascript
RewriteCond %{HTTP_COOKIE} !logged_in=yes [NC]
RewriteRule ^ - [CO=logged_in:yes:.example.com:1:/:false:true]
См. Эту ссылку для документации флага CO
(как создать файл cookie через mod_rewrite
)
/drupal/.htaccess
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !logged_in=yes [NC]
RewriteRule ^ /index.php [R,L]
сценарий
- Перейдите в
/drupal/
и вы должны получить перенаправление на корневой индекс - Вернитесь к
/drupal/
и все должно быть ОК (поскольку корневой индекс создал файл cookie) - Обновите текущую страницу (
/drupal/
) столько, сколько хотите в течение 1 минуты, то вы снова получите перенаправление на корневой индекс (срок действия файла cookie истек)
Мне приходят в голову две причины, почему вы не можете заставить его работать
- Вы не настроили свой файл cookie
- Правило
/drupal/.htaccess
не выполняется, потому что помещено после основного правила по умолчанию (поместите его вверху, чтобы убедиться)