Тема: Как сделать переадресацию на php

На сайте стоит кнопка скачать, которая ведет на файл download.php.

В файле download.php записан следующий код:

<?php 
header ('Referer: http://мой сайт.ru');
header ('Location: http://сайт1.ru');
exit;
?>

А как сделать условие, чтоб если пользователь кликнул по кнопке "Скачать", расположенной на странице
_http://мой сайт.ru/page1.html, то его перенаправляло на _http://site1.ru, а если клик произошел со станице _http://мой сайт.ru/page2.html, то перенаправление осуществлялось на _http://site2.ru
и т.д?
Надеюсь понятно расписал

2 (30.09.2012 12:59 отредактировано Hooligan)

Re: Как сделать переадресацию на php

Redirect permanent /page1.html   http://site1.ru
Redirect permanent /page2.html   http://site2.ru

Добавлено: 30-09-2012 11:57:39

Варианты переадресации на JavaScript чаще реализуются с использованием функции setTimeout('функция', задержка).

Например, автоматически сделать Click на кнопке "Submit" формы "searchform" через 0.1 сек после загрузки кода:

setTimeout('document.forms["searchform"].Submit.click()', 100);

На кнопку "Submit" можно повесить любое действие, например, открыть новый url в этом окне. Кстати такое редиректы чаще встречаются при организации Дорвеев (DorWay) - браузер Пользователя будет переадресован на другую страницу, а поисковый робот, который "не понимает" JavaScript, будет индексировать эту страницу, недоступную пользователю. На ней дорвейщики размещают текст, напичканный "нужными" ключевыми словами.

Чтобы просто переадресовать на другую страницу можно вставить после один из вариантов кода на JavaScript:

    location="http://www.newdomain.com";
    document.location.href="http://www.newdomain.com";
    window.location.reload("http://www.newdomain.com");
    document.location.replace("http://www.newdomain.com"); 

В последнем случае уже нельзя будет вернуться на страницу выполнившую переадресацию, так как ее адрес стирается из history, что нередко и нужною. Если нужна задержка по времени, можно оформить location="http://www.newdomain.com"; в виде функции и вставить ее в setTimeout('функция()', задержка_в_мсек); Редирект на JavaScrupt не является 301 редиректом и не передаст PR страницы, не сможет обеспечить ее склейку.

Добавлено: 30-09-2012 11:58:54

_http://sb-money.ru/article.php?a=75 Ссылка по теме!

Re: Как сделать переадресацию на php

Hooligan, на javascript я знаю как сделать. Меня интересует как это реализовать на php и именно при той структуре, которую я описал

4

Re: Как сделать переадресацию на php

Oleg пишет:

Hooligan, на javascript я знаю как сделать. Меня интересует как это реализовать на php и именно при той структуре, которую я описал

Ну тогда простите на пхп не знаю!

Re: Как сделать переадресацию на php

В файле download.php  написал код

<?php
$ref=$_SERVER['REQUEST_URI'];
if ($ref == '/'){
header('Location: http://site1.ru');
}

if ($ref == '/page1.html'){
header('Location: http://site2.ru');
}

?>

Но нечего не работает. где ошибка?

Добавлено: 30-09-2012 14:12:42

Hooligan пишет:

sb-money.ru/article.php?a=75 Ссылка по теме!

Спасибо, информация помогла разобраться.

6

Re: Как сделать переадресацию на php

Oleg пишет:

Спасибо, информация помогла разобраться.

Думаю будет целесообразно выложить решение проблемы, может кому и сгодится!

Re: Как сделать переадресацию на php

Hooligan пишет:

Думаю будет целесообразно выложить решение проблемы, может кому и сгодится!

В файле download.php пишем код:

<?php
$ref = $_SERVER['HTTP_REFERER'];
if ($ref == 'http://мой-сайт.ru/'){
header('Location: http://site1.ru');
exit();
}

if ($ref == 'http://мой-сайт.ru/page1.html'){
header('Location: http://site2.ru');
exit();
}

if ($ref == 'http://мой-сайт.ru/page2.html'){
header('Location: http://site3.ru');
exit();
}
?>

8

Re: Как сделать переадресацию на php

Oleg, Как говорится все элементарное просто!