Редирект новых юзеров на статическую страницу

Сделал у себя на сайте редирект на страницу о проекте для пользователей впервые посетивших проект.

в файле htaccess в корне сайта
перед блоком
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php


надо вставить
RewriteCond %{HTTP_COOKIE} !^.*visitor_id.*$ [NC]
RewriteRule ^(/)?$ /page/about/ [L]


Работает элементарно: смотрит, если нет куки visitor_id (которая создается ЛС на 12 месяцев при заходе на сайте), то считает, что юзер на сайте впервые и перекидывает на страницу /page/about/
Редирект срабатывает только при переходе на корень сайта. По конкретной ссылке юзер попадает куда нужно.

Возможно кому-то пригодится, зависит от направленности проекта.

6 комментариев

avatar
это же бред, гораздо проще в actionregistration добавить router::location при окончании регистрации
  • xyz
  • 0
avatar
реально бред, у меня неапример стоит очистка куков при закрытии браузера, и что… теперь каждый раз при заходе к Вам на сайт меня будет бросать на Ваш about… а многие пользователи даже незнают что у них автоочистка кук.
avatar
Если вы переходите на конкретную страницу — вас никуда не перекидывает. Проверка только для тех, кто переходит в корень сайта. Поэтому с поисковика вы попадете куда надо, а если вы постоянный посетитель — в закладки можно кинуть любую страницу, например, логина (вам все равно надо логиниться заново, если у вас трутся куки после каждого выхода).

И второе, насчет «многих пользователей». Можно узнать процент? И какой браузер по умолчанию трёт куки в штатном режиме?
avatar
Бред это то, что вы пишите — причем тут регистрация вообще (в частности, регистрация по инвайтам)

Я же написал, все зависит от направленности проекта.

у меня оффлайновый проект, самое главное — новые посетители, которые должны получить инфу о том, что это такое, когда и почем. Сообщество и блоги — далеко вторичны
avatar
возможно я уже не соображаю, но у меня не работает redirect… никак не хочет, можете привести полный файл пожалуйста?
  • dba
  • 0
avatar
Мой .htaccess представлен ниже:

AddDefaultCharset UTF-8
Options -Indexes
RewriteEngine On
#RewriteBase /
RewriteCond %{HTTP_COOKIE} !^.*PHPSESSID.*$ [NC]
RewriteRule ^(/)?$ /page/about/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php
# Alternative rule
#RewriteRule ^(.*)$ /index.php
RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ site.ru/$1 [R=301,L]

<Files «plugins.dat»>
order allow,deny
deny from all
  • dba
  • 0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.