Как сделать внутренний редирект?

A
На сайте с 02.08.2009
Offline
95
3486

Нашел этот топик - /ru/forum/602139 , но тоже выскакивает ошибка. При переходе по ссылке появляется содержимое файла redir.php

Может кто подскажет рабочую схему для чайников? Интересует редирект для внутренних страниц, чтобы спрятать эти ссылки от гугла. В приведенном выше примере сокрытие ссылок решалось путем запрета индексации файла в роботсе

Ragnarok
На сайте с 25.06.2010
Offline
239
#1
assas:
При переходе по ссылке появляется содержимое файла redir.php

php включен и работает?

//TODO: перестать откладывать на потом
A
На сайте с 02.08.2009
Offline
95
#2

Да, работает. Немного подправил приведенную конструкцию в файле redir.php

<?php

$link=base64_decode($_GET['link']);
$host=parse_url($link);
$host=@$host['host'];
$trusted = array(
'ххх.com.ua',
'ххх.com.ua',
'ххх.ua'
);
if (in_array($host,$trusted))
{
header("Location: $link");
} else
{
header("Location: http://".$_SERVER['HTTP_HOST']);
}

?>

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

   header("Location: http://".$_SERVER['HTTP_HOST']);  

В коде самой страницы прописал так:

<tr>

<td colspan="2">
<a href="/redir.php?link=<?=base64_encode('<?php echo $this->item->readmore_link; ?>')?>" class="readon<?php echo $this->escape($this->item->params->get('pageclass_sfx')); ?>">
<?php if ($this->item->readmore_register) :
echo JText::_('Register to read more...');
elseif ($readmore = $this->item->params->get('readmore')) :
echo $readmore;
else :
echo JText::sprintf('Read more...');
endif; ?></a>
</td>
</tr>
M
На сайте с 13.08.2007
Offline
29
#3

Возможно.

header("Location: http://".$_SERVER['HTTP_HOST'].$link);

заработает

все зависит от того что в $this->item->readmore_link;

Ragnarok
На сайте с 25.06.2010
Offline
239
#4

а не

<a href="/redir.php?link=<?=base64_encode($this->item->readmore_link)?>" class="readon<?php echo $this->escape($this->item->params->get('pageclass_sfx')); ?>">

ли?

A
На сайте с 02.08.2009
Offline
95
#5

Mentat, кажется получилось :)

Ragnarok, внес и Ваши изменения в исходник. Но работать начало именно после

header("Location: http://".$_SERVER['HTTP_HOST'].$link);

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