Я думаю, что проблема в том, что дефис в вашем файле htaccess. Попробуйте это:
RewriteRule ^log\-out /logout.php
Не могли бы вы также сообщить об ошибках / поведении, которое происходит?
Edit:
Проблема в вашем PHP тогда. Прежде всего, я бы рекомендовал хранить связанные с логином данные в сеансах, а не в файлах cookie. Файлы cookie могут добавляться и редактироваться пользователями.
В любом случае, код должен успешно очистить, если не удалить, куки. Возможно, вы проверяете, вошли ли вы в систему, основываясь на том, существуют ли файлы cookie, а не на их содержимом. В этом случае попробуйте if(empty($_COOKIE['key']))
, который проверит, пусто оно или нет.
Чтобы полностью удалить cookie: unset($_COOKIE['key'])
.
Кстати, session_destroy()
вообще не имеет отношения к куки.
Редактировать 2:
Попробуйте назначить файл cookie для своего домена и всех его поддоменов (включая www):
setcookie('key', '', time() - 36000, '/', '.mysite.net');
Сделайте то же самое при добавлении куки.