Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

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

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

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

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

Рекомендованные сообщения

Опубликовано:

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

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

Опубликовано:
  • Автор

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

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

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

Опубликовано:
  • Автор

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

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

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

Опубликовано:

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

Опубликовано:
  • Автор

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

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

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

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

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

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

Опубликовано:

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

Опубликовано:
  • Автор

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

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

Вид ссылки

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

Изменено пользователем freelance70

Опубликовано:
модификаций не было

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

Опубликовано:
  • Автор

Папка "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
?>

Опубликовано:
  • Автор

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

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

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

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

Опубликовано:
  • Автор

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

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

Опубликовано:

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

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

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

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.