Skip to content

Относительный адрес в редиректе внешних ссылок

Доброго времени, нужна ваша помощь.

IPB стоит по адресу site-name/forum, на site-name стоит другой движок.

На форуме в темах ссылки пользователей на другие ресурсы, переходя на которые возникает ошибка Ошибка 404 - Страница не найдена. (Переход делается на другой движок, с которого и идёт поиск страницы и сам переход) вид страницы - мой-сайт.ру/go/?http://сайт-на-который-переходим.ру

Если я дополняю адрес директорией и адрес становится - мой-сайт.ру/forum/go/?http://сайт-на-который-переходим.ру - то всё работает.

Как сделать что бы при нажатие на ссылку шла переадресация через мой-сайт.ру/forum/go/

Featured Replies

Адрес редиректа должен генерироватся из адреса форума. Если у вас прописан относительный адрес исправьте на board url.

Если форум переехал в другое место и структура папок изменилась, просто очистите кеш сообщений в АЦ -> Управление кешем.

  • Author

Не помогло, но появилась страница перенаправления.

Адрес теперь выглядит вот так -

http://сайт.ру/forum/go/?/go?http://сайткуда-идём.ру

  • Author

Форум ранее стоял на другом хостинге и всё было в порядке.

Перенаправление вновь выводит на ссылку

http://сайт.ру/go?http://сайткуда-идём.ру

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

  • Author

Сделал всё как сказано в соседней теме, ошибка осталась.

Адрес ошибки выглядит так

http://сайт.ру/go/?http://сайт-кудаидём.ру

Если самостоятельно дописать /forum - что-бы вид ссылки изменился на такой

http://сайт.ру/forum/go/?http://сслыка.ру

- на сайт переход проходит

Очистите кеш сообщений. Если делали согласно инструкции должен подстовлятся адрес форума. Свою старую модификацию нужно удалить.

  • Author

Кэш был очищен, модификаций не было.

Актуальность проблема оставляет за собой.

Вид ссылки

http://сайт.ру/go?http://сайт-кудаидём.ру

Edited by freelance70

модификаций не было

А каким образом вы тогда делали редирект ссылок?

  • Author

Папка "go" с файлом index и прописи в bbcode.php, разве что-то ещё нужно?

<?php
//@header('Location: '.$urlgo,true,302);
@$urlgo = $_GET['url'];
//echo '1:'.$urlgo ;
if (!$urlgo || $urlgo == '') {@$urlgo = $_SERVER['argv'][0];}
//echo '2:'.$urlgo ;
if (!$urlgo || $urlgo == '') {@$urlgo = $_SERVER['QUERY_STRING'];}
//echo '3:'.$urlgo ;
//$urlgo = str_replace("&" , "&", $urlgo);

$urlgo = preg_replace("/^\?/" , "", $urlgo);
$html= <<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Переход по внешней ссылке</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex">
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
</head>
<body id="body">
<noindex><br /><br /><center>Перенаправление на внешний ресурс: <br /><br />
<div id="waiting"></div>
<noscript>
Нажмите <a href="{$urlgo}" rel="nofollow">сюда</a> если ваш браузер не перешел по ссылке автоматически.
</noscript>
</center></noindex>


<script type='text/javascript'>

function countdown(secs){
secs--;
   if(secs>0)  
{
       document.getElementById("waiting").innerHTML = 'Осталось '+secs+'c.';
       window.setTimeout("countdown("+secs+")",1000);
   }  
else { 
    document.getElementById("waiting").innerHTML = 'Нажмите <a href="{$urlgo}" rel="nofollow">сюда</a> если ваш браузер не перешел по ссылке автоматически.';
	window.location.href = "{$urlgo}";
   }
}
countdown(3);

</script>
</body>
</html>
EOF;

echo $html
?>

  • Author

Проблема по сути заключается в том, что при нажатие на ссылку, идёт перенаправление как бы через основной сайт, а сам движок с содержимым и настройками находится в директории /forum, нужно что-то сделать что-бы перенаправление проходило через эту директорию и всё будет в порядке.

А вот что сделать я и не знаю.

Папка "go" с файлом index и прописи в bbcode.php, разве что-то ещё нужно?

Да. Откуда это? Каким образом раньше добавлялся редирект к ссылкам на форуме?

  • Author

Честно, понятия не имею, но я разобрался)

Закинул папку go в корень другого движка, всё работает успешно.

понятия не имею

По моему из той же самой оперы http://ipbskins.ru/forum/topic10110.html#entry65890 с той же xss уязвимостью. Хотя в этом моде применяется адрес форума из board_url.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.