Совместное использование сеанса cookie Rails и проблема "www.example.com" или "example.com"

Когда люди получают доступ к моему приложению на сайте www.example.com и входят в систему, они получают файл cookie. Я использую опцию cookie для хранения сессии на Rails. Заходя на example.com (без www), они должны снова войти в систему, потому что Firefox не распознает предыдущий сеанс.

Итак, что вы думаете, это лучший способ избежать этого?

Я думаю, я буду использовать маленький .htaccess правило (Apache + Passenger) вот так:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=permanent,L]

Ребята, вы считаете это хорошим решением?

2 ответа

Решение

Что бы я сделал, это:

  1. Настройте отдельные виртуальные хосты для domain.com и www.domain.com
  2. Никогда не публикуйте ссылки на domain.com, только на www.domain.com
  3. Когда пользовательский агент запрашивает http://domain.com/, перенаправьте ответ 301 на http://www.domain.com/
  4. Выпускать куки только с www.domain.com
  5. Не пытайтесь сделать весь сайт доступным с domain.com, только главную страницу (которая перенаправлена)

Вам не нужно задействовать рельсы в этом решении вообще.

Создайте отдельную запись виртуального хоста:

ServerName domain.com
Redirect permanent / http://www.domain.com

Перенаправление указывает пользователю на ваш другой виртуальный хост:

ServerName www.domain.com
Другие вопросы по тегам