Чтоб страница сверяла адрес, с которого её открыли.

12
Sower
На сайте с 30.12.2009
Offline
647
584

Лет 100 назад как-то делал, теперь понадобилось опять, а вспомнить не могу как. Нужно чтоб страница смотрела с какого адреса её открыли, и если адрес не тот что указан в её настройках, то чтоб она выполняла 301 редирект туда куда нужно. Кто нибудь в курсе всего этого процесса?

__________________Бесплатная накрутка ПФ: посещаемость, просмотры, переходы с поисковиков по ключевикам, итд.
__________________Все посетители живые, не боты. (http://livesurf.ru/promo/80271)
[umka]
На сайте с 25.05.2008
Offline
456
#1

Что вы имеете в виду под "адрес, с которого её открыли"?

Адрес ссылающейся страницы?

Лог в помощь!
Sower
На сайте с 30.12.2009
Offline
647
#2

Допустим сохранённая страница открыта на другом сайте. Нужно чтоб она сразу редиректила на родной урл. Или другой вариант, десяток алиасов использует 1 страницу с этого же сервера на этом же ip. Нужно чтоб шёл редирект на первоначальный адрес.

IL
На сайте с 20.04.2007
Offline
435
#3

в PHP

$_SERVER['HTTP_REFERER']

в .htaccess

%{HTTP_REFERER}
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
[umka]
На сайте с 25.05.2008
Offline
456
#4
Sower:
Допустим сохранённая страница открыта на другом сайте. Нужно чтоб она сразу редиректила на родной урл. Или другой вариант, десяток алиасов использует 1 страницу с этого же сервера на этом же ip. Нужно чтоб шёл редирект на первоначальный адрес.

Если в PHP, то имя хоста и URI хранятся в переменных $_SERVER['HTTP_HOST'] и $_SERVER['REQUEST_URI'], что чтобы эта проверка происходила, понятное дело, сохранённая страница должна быть сохранена вместе с PHP-кодом :)

Если сохраняется только html, то нужно чтобы html выдавался с ява-скриптом, который будет проверять, соответствует ли 'location.href' нужному значению, и делает редирект. Но этот редирект не будет 301-м.

IL
На сайте с 20.04.2007
Offline
435
#5
Sower:
Допустим сохранённая страница открыта на другом сайте. Нужно чтоб она сразу редиректила на родной урл. Или другой вариант, десяток алиасов использует 1 страницу с этого же сервера на этом же ip. Нужно чтоб шёл редирект на первоначальный адрес.

Эм..

"сохранённая" страница на другом сервере - видимо, только при помощи JS проверять

if (window.location.href != 'http://нужный адрес') window.location.href = 'НУЖНЫЙ'

(правда это не 301 редирект.. но если доступа к нему нет - заголовок отдать не получится)

Если есть доступ к PHP - проверять

if($_SERVER['REQUEST_URI'] != '/нужная_страница_от_корня_сервера') {
...
}
Sower
На сайте с 30.12.2009
Offline
647
#6
ivan-lev:


Если есть доступ к PHP - проверять
if($_SERVER['REQUEST_URI'] != '/нужная_страница_от_корня_сервера') {
...
}

То есть сделать в странице вставку?


<?php
if($_SERVER['REQUEST_URI'] != '/var/www/user/data/www/my-site.com/')
?>

Так не работает. Страница открывается на других адресах и никуда не редиректит.

beginerx
На сайте с 13.07.2009
Offline
173
#7

если защита от копирования то контент в зашифрованном js в нем же проверка и редирект (отключат js не увидят контента), можно также сделать во флэше и сильверлайте.

>>>Скорость и Реакция<<< (https://vk.com/app4629907 ): онлайн тренировка скорости и времени реакции.... (https://vk.com/app4612117 )... (https://vk.com/club18740762 ).
IL
На сайте с 20.04.2007
Offline
435
#8
Sower:
Так не работает. Страница открывается на других адресах и никуда не редиректит.

ну.. так и не будет.

От корня веб-сервера.. В смысле URI (всё, что после http://server.name)


<?php
if($_SERVER['REQUEST_URI'] != '/page.html') {
header("HTTP/1.1 301 Moved Permanently"); // если нужен 301 редирект
header('Location: /new_page.html'); // можно Location: http://newserver.ru/new_page.html
exit();
}
?>
Sower
На сайте с 30.12.2009
Offline
647
#9
beginerx:
если защита от копирования то контент в зашифрованном js в нем же проверка и редирект (отключат js не увидят контента), можно также сделать во флэше и сильверлайте.

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

---------- Добавлено 05.02.2013 в 23:03 ----------

ivan-lev:
ну.. так и не будет.
От корня веб-сервера.. В смысле URI (всё, что после http://server.name)



<?php
if($_SERVER['REQUEST_URI'] != '/page.html') {
header("HTTP/1.1 301 Moved Permanently"); // если нужен 301 редирект
header('Location: /new_page.html'); // можно Location: http://newserver.ru/new_page.html
exit();
}
?>

Работает, спасибо!

IL
На сайте с 20.04.2007
Offline
435
#10
Sower:
Нужно чтоб и домен менялся.

// можно Location: http://newserver.ru/new_page.html
header('Location: http://newserver.ru/new_page.html');


---------- Post added 06-02-2013 at 00:06 ----------

Если ещё и домен проверять надо -

if ($_SERVER['HTTP_HOST']!='myhost.ru')
if (...) // вся конструкция выше.
12

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