htaccess, переадресация для не прямых заходов

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем yaski, 15 май 2018.

  1. yaski

    yaski

    Moderator
    Регистр.:
    21 фев 2010
    Сообщения:
    552
    Симпатии:
    350
    Есть переходы на сайт demo.site.ru с поисковиков и т.п.
    Помогите написать правило htaccess или проверку на php
    Если посетитель переходит на него извне,например, с поисковиков, рефералов и т.п. его перекидывало на site.ru,
    а если делает прямой заход, то есть в браузере вбивает demo.site.ru, то чтоб не перекидывало.
     
    Последнее редактирование: 15 май 2018
  2. svfolder

    svfolder

    Регистр.:
    31 июл 2013
    Сообщения:
    154
    Симпатии:
    155
    По сути тут наверное зацепится можно только за HTTP_REFERER


    Код:
    
    #Вот условие проверки на совпадение по двум сайтам.
    #Это если надо отдельно каждый настраивать, я о поисковиках.
    
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} yandex\.ru [NC,OR]
    RewriteCond %{HTTP_REFERER} google\.com
    
    #Далее пишем условие на строку URI
    
    RewriteCond %{REQUEST_URI} (.*)
    
    #Далее пишем правило редиректа, если сработали все условия RewriteCond
    
    RewriteRule ^(.*)$ http://site.ru/$1 [L,R=301]
    Это наброски кода, дальше можно уже додумать.

    Возможен вариант на проверку HTTP_REFERER на пустоту, то есть якобы мы ни откуда не пришли.
     
    yaski нравится это.