Большое количество веб-сайтов для своей работы используют cookie. Неспособность браузера сохранять и отправлять cookie на сервер могут послужить причиной неправильной работы сайта. По этой причине возникает необходимость проверять включены ли cookie в браузере, а уж потом принимать какие-либо решения. Головная боль за неработоспособность сайта все-таки в первую очередь возлагается на разработчиков, которые должны заранее быть готовы к подобного рода обстоятельствам.
Рассмотрим простой скрипт для проверки работоспособности cookie в браузере.
<?php if (empty($_GET["cookie"])){ // пробуем отправить cookies в браузер header("Location: $_SERVER[PHP_SELF]?cookie=1"); setcookie("test","1"); } else { if (empty($_COOKIE["test"])){ echo("Включите cookies в браузере!"); } else { // всё впоряде, перенаправляем на нужную страницу header("Location: http://localhost/"); } } ?>
Кратко о том, что делает скрипт. Скрипт делает попытку отправить cookie в браузер, делается это с перенаправлением на исходную страницу. Так как инициализация запроса происходит на стороне клиента, а именно браузера, то мы, таким образом, можем просмотреть наличие cookie в запросе. Если ранее отправленные cookie вернулись нам обратно, значит всё в норме, в ином случае сообщаем об ошибке.
Это нарушает работу Rewrite Rules.