Редирект только для прямых заходов

C
На сайте с 14.07.2008
Offline
147
870

Приветствую.

Можно ли сделать Редирект только для прямых заходов.

То есть если пользователь вбивает адрес в браузере напрямую, то редиректить на определенную страницу, но при этом чтобы при переходах из ПС и других сайтов, а также переходах роботов ПС редирект не работал.

[Удален]
#1

Можно.

И при помощи PHP

Проверяйте


$_SERVER['HTTP_USER_AGENT']
$_SERVER['HTTP_REFERER']

Или htaccess


RewriteEngine on

RewriteBase /
RewriteCond %{HTTP_USER_AGENT} !^yandex.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !^googlebot.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !^gaisbot.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !^rambler.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !^aport.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !^metacrawler.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !^msnbot.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !^crawler.* [NC,OR]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule ^/$ http://redirect.url [L,R]
siv1987
На сайте с 02.04.2009
Offline
427
#2

Или htaccess


RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_REFERER} ^$
RewriteCond %{HTTP_USER_AGENT} !(yandex|googlebot|mail|rambler|msnbot|yahoo) [NC]
RewriteRule !^определенная_страница http://site/определенная_страница [L,R]
C
На сайте с 14.07.2008
Offline
147
#3

Сделал вот так

RewriteBase /

RewriteCond %{HTTP_REFERER} ^$

RewriteCond %{HTTP_USER_AGENT} !(yandex|googlebot|mail|rambler|msnbot|yahoo) [NC]

RewriteRule !^site.ru http://site.ru/page.html [L,R=301]

Выходит

Moved Permanently

The document has moved here.

Как можно сделать, так чтобы страница редиректилась автоматически.

siv1987
На сайте с 02.04.2009
Offline
427
#4
siv1987:
!^определенная_страница
cjseriy:
!^site.ru

Сравните разницу.

page.html - пример определенной_странице.

C
На сайте с 14.07.2008
Offline
147
#5

Сделал вот так

RewriteBase /

RewriteCond %{HTTP_REFERER} ^$

RewriteCond %{HTTP_USER_AGENT} !(yandex|googlebot|mail|rambler|msnbot|yahoo) [NC]

RewriteRule !^page.html http://site.ru/page.html [L,R=301]

Выходит

Moved Permanently

The document has moved here.

siv1987
На сайте с 02.04.2009
Offline
427
#6

Браузер мог закешировать последний ответ по этому адресу.

Если все сделали правильно, в частности правильно прописали regexp адрес page.html то зацикливание редиректа не должно быть.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий